Clarification on Gcc's strict aliasing rules

Francis Moreau francis.moro@gmail.com
Mon Nov 8 09:09:00 GMT 2010


"Segher Boessenkool" <segher@kernel.crashing.org> writes:

>>> 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.

Ok, using levels 1 or 2 gives the diagnostic.

-- 
Francis



More information about the Gcc-help mailing list