------- Comment #8 from pinskia at gmail dot com  2008-09-16 13:29 -------
Subject: Re:  [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"
<[EMAIL PROTECTED] 
 > 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
>


-- 


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

Reply via email to