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 15:26:02 -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 16:24:34 +0100
Robert Schiele <rschiele at uni-mannheim dot de> writes:
> How about this:
>
> 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.
--
Falk