Clarification on Gcc's strict aliasing rules

Segher Boessenkool segher@kernel.crashing.org
Mon Nov 8 05:13:00 GMT 2010


>> I got no diagnostic when compiling it with "-Wall
>> -O2" switches. Is it expected ?
>
> Yes.  -O0 implies -fno-strict-aliasing.

I misread, you asked for -O2.

The compiler cannot always detect these situations -- if it could,
it could simply always do what the user expects!

You can try -Wstrict-aliasing=N for different N; levels 1 and 2
probably work.  The N is a tradeoff between false negatives and
false positives; see the manual for what they do exactly.


Segher



More information about the Gcc-help mailing list