[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#488563: [powerpc] Optimisation results in wrong code



> On Sun, Jun 29, 2008 at 08:19:05PM +0100, Sjoerd Simons wrote:
> >   *((uint64_t *) h) = (uint64_t) 0;
> >   *((uint32_t *) h) = (uint32_t) 0xffffffff;
> 
> Violation of aliasing rules. h points either to a uint32_t oder uint64_t
> not both.
> 
> > With -fschedule-insns -fstrict-aliasing:
> > $ /usr/bin/gcc-4.3  -Wall  /tmp/test.c -o /tmp/test -fschedule-insns -fstrict-aliasing
> > $ /tmp/test
> > 0
> 
> -fstrict-aliasing enables standard conforming aliasing handling.
> 
> > This error causes the gstreamer testsuite to break on powerpc.
> 
> You break the rules, gcc breaks your output. No bug.

But shouldn't gcc warn about this then? It already warns about breaking aliasing
rules in many other situations.

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil


Reply to: