This is the mail archive of the gcc-bugs@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: [Bug tree-optimization/37526] [4.4 Regression] ICE using --combine -O2




Sent from my iPhone

On Sep 16, 2008, at 6:20 AM, "rguenth at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org > wrote:



------- Comment #7 from rguenth at gcc dot gnu dot org 2008-09-16 13:20 -------
./cc1 -quiet -O2 t1.i t2.i
t2.i: In function 'Node_print':
t2.i:2: error: non-trivial conversion at assignment
struct _IO_FILE *
struct _IO_FILE *
# LOADS: { stderr }
stderr.0_3 = stderr;


t2.i:2: error: non-trivial conversion at assignment
struct _IO_FILE *
struct _IO_FILE *
# LOADS:  { stderr }
stderr.0_4 = stderr;


No those two types should compatible. If they are not then there is a bug in the middle-end. I think this is why there was the Lang hook in the first place.


t2.i:2: internal compiler error: verify_stmts failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


So we have wrong GIMPLE here. GIGO.


Value numbering stderr.0_3 stmt = stderr.0_3 = stderr;
Setting value number of stderr.0_3 to stderr.0_3
...
Value numbering stderr.0_4 stmt = stderr.0_4 = stderr;
Inserting name stderr.0_17 for expression (struct _IO_FILE *) stderr. 0_3
Setting value number of stderr.0_4 to stderr.0_17



--


rguenth at gcc dot gnu dot org changed:

What |Removed |Added
--- --- ----------------------------------------------------------------------
CC| |rguenth at gcc dot gnu dot
| |org



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




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