> On May 9, 2018, at 1:25 PM, Shoaib Meenai via Phabricator 
> <revi...@reviews.llvm.org> wrote:
> 
> smeenai added a comment.
> 
> Yeah, I think we all agree now that a portability warning isn't really 
> tractable. Note that even for the warnings that motivated this diff, they 
> should have only fired if `size_t` and NSInteger had separate types, so it 
> wasn't a portability warning in that sense to begin with (as in, it would 
> only warn if there was a mismatch for your current target, not if there was a 
> potential mismatch for any target).
> 
> We still have two options:
> 
> 1. Special-case NSInteger/NSUInteger on Apple platforms so that they can 
> always be printed using `%z` without any issues.
> 2. Relax the format specifier warnings (either under a new warning option, 
> e.g. `-Wformat-relaxed`, or by relaxing `-Wformat` itself and adding 
> something like `-Wformat-pedantic`) so that you don't warn when the specifier 
> and the actual type have the same size and alignment, even when the actual 
> type is different (which would also cover the case in 1).
> 
> I'm personally in favor of 2, and I can start a discussion on cfe-dev if you 
> think we should try to achieve a broader consensus. Whichever option we went 
> with, we would also have to ensure that the optimizer didn't do anything bad 
> (as @aaron.ballman pointed out), both now and in the future

2 sounds better overall. However I don’t like a relaxed flag because it’s weird 
when you have relaxed/normal/pedantic. How do they mix? What if I want format 
warnings, but not “portability” ones. I think we either want to move this to 
pedantic and (as you propose) only warm on -Wformat if size or alignment don’t 
match. We can also have a separate -Wformat-portability warning where we try 
(and fail) to be helpful. 

Please do start a thread on cfe-dev, much appreciated!


> Repository:
>  rC Clang
> 
> https://reviews.llvm.org/D42933
> 
> 
> 
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to