This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: optimization/7726: Fails to produce the correct implementation-dependantoutput for loop optimization under x86 -> optimizes away a loop that shouldcomplete


The following reply was made to PR optimization/7726; it has been noted by GNATS.

From: Segher Boessenkool <segher@koffie.nl>
To: Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
Cc: bangerth@dealii.org, carlos@baldric.uwo.ca, gcc-bugs@gcc.gnu.org,
	gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org
Subject: Re: optimization/7726: Fails to produce the correct 
 implementation-dependantoutput for loop optimization under x86 -> 
 optimizes away a loop that shouldcomplete
Date: Sun, 29 Dec 2002 13:22:39 +0100

 Falk Hueffner wrote:
 > 
 > On 6 Dec 2002 bangerth@dealii.org wrote:
 > 
 > > Hm, the code goes into an endless loop on my system also without
 > > optimization and with all the compilers I have (i.e. gcc2.95, 3.0,
 > > 3.2, 3.2.2pre, 3.3pre, and icc7). Are you sure that the overflow you
 > > are exploiting is really defined in ISO C?
 > 
 > Reading the value of a union member other than the last one stored into is
 > undefined (at least in C99),
 
 Implementation defined, actually...
 
 > so it could be easily argued that this is not
 > a bug. However, gcc seems to support this in some other places (see the
 > info entry about aliasing). So IMHO this should either be "fixed", or it
 > should be documented exactly which union type punning tricks are OK.
 
 ...and implementation defined bahaviour should be documented.  And it is,
 even: there is some discussion of this in the manual, under "-fstrict-aliasing",
 stating that with GCC, type-punning via unions is explicitly allowed.
 
 
 Segher
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]