[cfe-commits] r86962 - /cfe/trunk/tools/clang-cc/clang-cc.cpp

Chris Lattner clattner at apple.com
Thu Nov 12 13:51:26 PST 2009


On Nov 12, 2009, at 5:39 AM, Sebastian Redl wrote:

> Daniel Dunbar wrote:
>> Author: ddunbar
>> Date: Thu Nov 12 00:48:24 2009
>> New Revision: 86962
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=86962&view=rev
>> Log:
>> clang-cc: -fixit is actually option, not an action, although its  
>> use with non
>> -fsyntax-only is probably untested.
>>
> Also, misleading and not meaningful. Some warnings fixit the code to
> something else semantically than the current code, e.g. i & 1 == 0 is
> fixed to (i & 1) == 0. If I do CodeGen+Fixit, I get the old  
> semantics in
> the object code even while changing the source.
>
> So perhaps we should turn -fixit into an action instead of relying on
> users not to do anything stupid with it.

I think that this is a serious problem with a different fix.  Fixits  
for warnings should be to 'make the warning go away without changing  
the semantics of the code' not 'change my code to make the warning go  
away'.

In this case, the fixit should insert:
   i & (1 == 0)

No?  Maybe there should be two modes for fixits: semantic preserving  
ones that can always be safely applied vs potential bugs?

-Chris



More information about the cfe-commits mailing list