[Bug middle-end/48440] [4.7 Regression] FAIL: gcc.c-torture/compile/labels-3.c

hjl.tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Apr 4 22:05:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48440

--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> 2011-04-04 22:05:30 UTC ---
The record_reference change remove the cast, which is needed for
Pmode != ptr_mode:

diff -upr bad/x.i.143r.expand good/x.i.143r.expand
--- bad/x.i.143r.expand    2011-04-04 15:02:05.652458274 -0700
+++ good/x.i.143r.expand    2011-04-04 15:02:55.233678782 -0700
@@ -5,7 +5,7 @@ foo (int a)
 {
   void * gotovar.0;
   void * p;
-  static const short int ar[2] = {0, (short unsigned int) &l2 - (short
unsigned int) &l1};
+  static const short int ar[2] = {0, (short int) ((short unsigned int) (int)
&l2 - (short unsigned int) (int) &l1)};
   int D.2689;
   unsigned int D.2688;
   const short int D.2687;
@@ -105,7 +105,7 @@ foo (int a)
 {
   void * gotovar.0;
   void * p;
-  static const short int ar[2] = {0, (short unsigned int) &l2 - (short
unsigned int) &l1};
+  static const short int ar[2] = {0, (short int) ((short unsigned int) (int)
&l2 - (short unsigned int) (int) &l1)};
   int D.2689;
   unsigned int D.2688;
   const short int D.2687;



More information about the Gcc-bugs mailing list