On Jan 20, 2012, at 2:09 PM, Jean-Daniel Dupas wrote:

> Actually, clang automatically add a "format(printf)" attribute to the 
> declarations of NSLog/NSLogv functions.
> This is actually wrong, as NSLog expect an NSString format attribute. It is 
> not really an issue as the code that checks the format string is the same for 
> printf and NSString,
> but actually I'm working on adding support for CFString format, and having 
> the wrong tag on NSLog functions prevent some code factoring between CFString 
> and NSString format checking.
> 
> Now that NSString format is properly checked, this trick is no longer needed, 
> so I'd like to stop forcing the type to printf, and use NSString instead.

Makes sense.

> 
> This patch also reduce the scope of this hack to objc code only (so if by any 
> change someone write a C library with an NSLog function, clang will not try 
> to tag it with an NSString format attribute).

No need.  NSLog only makes sense in ObjC, since the format string is an 
NSString, not a C string.  Just keep it simple.

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

Reply via email to