optimization/8300: [3.2/3.3/3.4 regression] [sparc] ICE in gen_reg_rtx, at emit-rtl.c:662

Falk Hueffner falk.hueffner@student.uni-tuebingen.de
Mon Mar 17 17:06:00 GMT 2003


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

From: Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
To: Robert Schiele <rschiele@uni-mannheim.de>
Cc: Richard Henderson <rth@redhat.com>, gcc-bugs@gcc.gnu.org,
   tneumann@pi3.informatik.uni-mannheim.de, gcc-gnats@gcc.gnu.org
Subject: Re: optimization/8300: [3.2/3.3/3.4 regression] [sparc] ICE in gen_reg_rtx, at emit-rtl.c:662
Date: 17 Mar 2003 17:59:25 +0100

 Robert Schiele <rschiele@uni-mannheim.de> writes:
 
 > On Mon, Mar 17, 2003 at 04:24:34PM +0100, Falk Hueffner wrote:
 > > Robert Schiele <rschiele@uni-mannheim.de> writes:
 > > 
 > > > void a() {
 > > >     double b;
 > > >     int c[2];
 > > >     *((int*)&b) && (c[1] = 0);
 > > > }
 > > > 
 > > > Exactly same problem.  And this time there is no pointer outside well
 > > > defined data area.  You agree that this sample is legal code?
 > > 
 > > No, you're violating the rule in 6.5.7 by accessing an object of type
 > > double with an lvalue of type int.
 > 
 > 6.5.7?  This one is about bitwise shift operators
 
 Sorry, I meant 6.5, paragraph 7.
 
 > lvalue?  b is not used as an lvalue here, is it?
 
 No, but you're accessing its value.
  
 > Is it generally illegal to do a cast of this type?
 
 No, only accessing the resulting object.
 
 -- 
 	Falk



More information about the Gcc-prs mailing list