Le 14 janv. 2012 à 23:59, Jean-Daniel Dupas a écrit :

> Hello,
> 
> Here is a patch to fix 2 issues:
> - format strings attributes are not checked on obj-c methods.
> - format attribute using NSString and CFString format are not checked at all.
> 
> This patch add a CheckObjCMethodCall() member to Sema that mirrors 
> CheckFunctionCall() but work for obj-c method call and not function call.
> 
> To match the CheckFunctionCall() function, this new function handle "format" 
> attributes (which was not handled yet), and "non null" attributes (which was 
> previously handled in SemaObjC).
> 
> The second issue is that CheckablePrintfAttr() return true only if the format 
> is printf, but should also returns true for NSString and CFString formats.
> 
> Please, can somebody review it, and apply it if it is fine.
> Thanks.
> 

A second version of the patch.

Format attribute checking logic was copied at 3 places:
- in function call checking.
- in block call checking.
- in method call checking.

This new version of the patch factorizes the format checking logic in a single 
place: CheckFormatArguments()
It also fixes an inconsistency between CheckablePrintfAttr() and 
CheckPrintfScanfArguments().
The test to define if the attribute index should be shifted (if this is a C++ 
instance member call) was not correct in the former.
This test is now performed once.

Please, can somebody review it.
Thanks

-- Jean-Daniel



Attachment: objc-format.patch
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to