This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: optimization/8300: [3.2/3.3/3.4 regression] [sparc] ICE in gen_reg_rtx, at emit-rtl.c:662
- From: Falk Hueffner <falk dot hueffner at student dot uni-tuebingen dot de>
- To: nobody at gcc dot gnu dot org
- Cc: gcc-prs at gcc dot gnu dot org,
- Date: 17 Mar 2003 17:06:01 -0000
- Subject: Re: optimization/8300: [3.2/3.3/3.4 regression] [sparc] ICE in gen_reg_rtx, at emit-rtl.c:662
- Reply-to: Falk Hueffner <falk dot hueffner at student dot uni-tuebingen dot de>
The following reply was made to PR optimization/8300; it has been noted by GNATS.
From: Falk Hueffner <falk dot hueffner at student dot uni-tuebingen dot de>
To: Robert Schiele <rschiele at uni-mannheim dot de>
Cc: Richard Henderson <rth at redhat dot com>, gcc-bugs at gcc dot gnu dot org,
tneumann at pi3 dot informatik dot uni-mannheim dot de, gcc-gnats at gcc dot gnu dot 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 at uni-mannheim dot de> writes:
> On Mon, Mar 17, 2003 at 04:24:34PM +0100, Falk Hueffner wrote:
> > Robert Schiele <rschiele at uni-mannheim dot 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