public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/17128] New: ICE in tree-line
@ 2004-08-21  0:43 bommar33 at msu dot edu
  2004-08-21  0:43 ` [Bug middle-end/17128] ICE in tree-inline bommar33 at msu dot edu
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: bommar33 at msu dot edu @ 2004-08-21  0:43 UTC (permalink / raw)
  To: gcc-bugs

GCC Version: 3.5.0 20040815 (experimental)
uname -srm: Linux 2.6.8.1 i686
GCC Configure Flags: --with-languages=c,c++

Command: 
$] make
...
gcc -DHAVE_CONFIG_H -I. -I. -I.  -I./../include -I. -I./include
-DLOCALEDIR="\"/usr/local/share/locale\"" -O1 -march=athlon-xp -ggdb -MT
charset.o -MD -MP -MF ".deps/charset.Tpo" -c -o charset.o charset.c

Compiler Output:
charset.c: In function `convert_utf8_utf16':
charset.c:471: internal compiler error: in expand_call_inline, at tree-inline.c:1484

Ironically, I generated this error while attempting to recompile the sources of
the very snapshot I'm using with debugging symbols, so that I could debug a
segfault in the garbage collector I'd found a few hours ago building the kernel.
 Talk about an exciting day...

Ripped straight from the source above the specified line in tree-inline.c:
/* We have missing edge in the callgraph.  This can happen in one case
   where previous inlining turned indirect call into direct call by
   constant propagating arguments.  In all other cases we hit a bug
   (incorrect node sharing is most common reason for missing edges.  */

Interestingly enough, compiling at -O2 results in success.  ...and I'd set -O1
to make my life debugging the other segfault easier.  Much good prudence does, I
guess.  Preprocessed source as bzip2 on its way.

-- 
           Summary: ICE in tree-line
           Product: gcc
           Version: 3.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bommar33 at msu dot edu
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux
  GCC host triplet: i686-pc-linux
GCC target triplet: i686-pc-linux


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug middle-end/17128] ICE in tree-inline
  2004-08-21  0:43 [Bug middle-end/17128] New: ICE in tree-line bommar33 at msu dot edu
@ 2004-08-21  0:43 ` bommar33 at msu dot edu
  2004-08-21  0:46 ` bommar33 at msu dot edu
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: bommar33 at msu dot edu @ 2004-08-21  0:43 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|ICE in tree-line            |ICE in tree-inline


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug middle-end/17128] ICE in tree-inline
  2004-08-21  0:43 [Bug middle-end/17128] New: ICE in tree-line bommar33 at msu dot edu
  2004-08-21  0:43 ` [Bug middle-end/17128] ICE in tree-inline bommar33 at msu dot edu
@ 2004-08-21  0:46 ` bommar33 at msu dot edu
  2004-08-21  1:48 ` [Bug middle-end/17128] [3.5 Regression] " pinskia at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: bommar33 at msu dot edu @ 2004-08-21  0:46 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From bommar33 at msu dot edu  2004-08-21 00:46 -------
Created an attachment (id=6969)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=6969&action=view)
Bzip2'ed preprocessed source

$]gcc -c -O1 charset.i
charset.c: In function `convert_utf8_utf16':
charset.c:471: internal compiler error: in expand_call_inline, at
tree-inline.c:1484

-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug middle-end/17128] [3.5 Regression] ICE in tree-inline
  2004-08-21  0:43 [Bug middle-end/17128] New: ICE in tree-line bommar33 at msu dot edu
  2004-08-21  0:43 ` [Bug middle-end/17128] ICE in tree-inline bommar33 at msu dot edu
  2004-08-21  0:46 ` bommar33 at msu dot edu
@ 2004-08-21  1:48 ` pinskia at gcc dot gnu dot org
  2004-08-21  1:49 ` pinskia at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-21  1:48 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-08-21 01:48 -------
Confirmed, reduced to:
static __inline__ int
one_utf8_to_utf16 () { }

static __inline__ unsigned char
conversion_loop (int (*const one_conversion)())
{
return one_conversion ();
}
static unsigned char
convert_utf8_utf16 ()
{
  return conversion_loop (one_utf8_to_utf16);
}

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |critical
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |ice-on-valid-code
   Last reconfirmed|0000-00-00 00:00:00         |2004-08-21 01:48:31
               date|                            |
            Summary|ICE in tree-inline          |[3.5 Regression] ICE in
                   |                            |tree-inline
   Target Milestone|---                         |3.5.0


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug middle-end/17128] [3.5 Regression] ICE in tree-inline
  2004-08-21  0:43 [Bug middle-end/17128] New: ICE in tree-line bommar33 at msu dot edu
                   ` (2 preceding siblings ...)
  2004-08-21  1:48 ` [Bug middle-end/17128] [3.5 Regression] " pinskia at gcc dot gnu dot org
@ 2004-08-21  1:49 ` pinskia at gcc dot gnu dot org
  2004-08-21  2:02 ` pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-21  1:49 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-08-21 01:49 -------
: Search converges between 2004-04-01-trunk (#447) and 2004-04-10-trunk (#448).

-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug middle-end/17128] [3.5 Regression] ICE in tree-inline
  2004-08-21  0:43 [Bug middle-end/17128] New: ICE in tree-line bommar33 at msu dot edu
                   ` (3 preceding siblings ...)
  2004-08-21  1:49 ` pinskia at gcc dot gnu dot org
@ 2004-08-21  2:02 ` pinskia at gcc dot gnu dot org
  2004-08-23 10:15 ` reichelt at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-21  2:02 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-08-21 02:02 -------
I think it was caused by this change:
2004-04-02  Jan Hubicka  <jh@suse.cz>

        * cgraph.c: Add overall comment.
        (cgraph_inline_hash): New global variable.
        (cgraph_create_node): Break out from ...
        (cgraph_node): ... here.
        (cgraph_edge): New function.
        .....

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jh at suse dot cz


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug middle-end/17128] [3.5 Regression] ICE in tree-inline
  2004-08-21  0:43 [Bug middle-end/17128] New: ICE in tree-line bommar33 at msu dot edu
                   ` (4 preceding siblings ...)
  2004-08-21  2:02 ` pinskia at gcc dot gnu dot org
@ 2004-08-23 10:15 ` reichelt at gcc dot gnu dot org
  2004-09-09  6:59 ` aj at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2004-08-23 10:15 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From reichelt at gcc dot gnu dot org  2004-08-23 10:15 -------
Anrew's guess was right. The bug appears with Jan's patch
http://gcc.gnu.org/ml/gcc-cvs/2004-04/msg00137.html


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |reichelt at gcc dot gnu dot
                   |                            |org
           Keywords|                            |monitored


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug middle-end/17128] [3.5 Regression] ICE in tree-inline
  2004-08-21  0:43 [Bug middle-end/17128] New: ICE in tree-line bommar33 at msu dot edu
                   ` (5 preceding siblings ...)
  2004-08-23 10:15 ` reichelt at gcc dot gnu dot org
@ 2004-09-09  6:59 ` aj at gcc dot gnu dot org
  2004-09-09  9:06 ` jh at suse dot cz
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: aj at gcc dot gnu dot org @ 2004-09-09  6:59 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From aj at gcc dot gnu dot org  2004-09-09 06:59 -------
This looks like a duplicate of 16460.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aj at suse dot de


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug middle-end/17128] [3.5 Regression] ICE in tree-inline
  2004-08-21  0:43 [Bug middle-end/17128] New: ICE in tree-line bommar33 at msu dot edu
                   ` (6 preceding siblings ...)
  2004-09-09  6:59 ` aj at gcc dot gnu dot org
@ 2004-09-09  9:06 ` jh at suse dot cz
  2004-09-09  9:16 ` aj at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: jh at suse dot cz @ 2004-09-09  9:06 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From jh at suse dot cz  2004-09-09 09:06 -------
Subject: Re:  [3.5 Regression] ICE in tree-inline


static __inline__ int
one_utf8_to_utf16 () { }

static __inline__ unsigned char
conversion_loop (int (*const one_conversion)())
{
return one_conversion ();
}
static unsigned char
convert_utf8_utf16 ()
{
  return conversion_loop (one_utf8_to_utf16);
}

2004-09-09  Jan Hubicka  <jh@suse.cz>
	middle-end/17128
	* tree-inline.c (expand_call_inline): Make overactive sanity check happy.
Index: tree-inline.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-inline.c,v
retrieving revision 1.137
diff -c -3 -p -r1.137 tree-inline.c
*** tree-inline.c	5 Sep 2004 16:05:00 -0000	1.137
--- tree-inline.c	9 Sep 2004 09:02:47 -0000
*************** expand_call_inline (tree *tp, int *walk_
*** 1481,1487 ****
           where previous inlining turned indirect call into direct call by
           constant propagating arguments.  In all other cases we hit a bug
           (incorrect node sharing is most common reason for missing edges.  */
!       if (!dest->needed)
  	abort ();
        cgraph_create_edge (id->node, dest, t)->inline_failed
  	= N_("originally indirect function call not considered for inlining");
--- 1481,1487 ----
           where previous inlining turned indirect call into direct call by
           constant propagating arguments.  In all other cases we hit a bug
           (incorrect node sharing is most common reason for missing edges.  */
!       if (!dest->needed && flag_unit_at_a_time)
  	abort ();
        cgraph_create_edge (id->node, dest, t)->inline_failed
  	= N_("originally indirect function call not considered for inlining");


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug middle-end/17128] [3.5 Regression] ICE in tree-inline
  2004-08-21  0:43 [Bug middle-end/17128] New: ICE in tree-line bommar33 at msu dot edu
                   ` (7 preceding siblings ...)
  2004-09-09  9:06 ` jh at suse dot cz
@ 2004-09-09  9:16 ` aj at gcc dot gnu dot org
  2004-09-09  9:21 ` jh at suse dot cz
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: aj at gcc dot gnu dot org @ 2004-09-09  9:16 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From aj at gcc dot gnu dot org  2004-09-09 09:16 -------

The code has changed, I guess you need now:

      gcc_assert (dest->needed || !flag_unit_at_a_time);


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug middle-end/17128] [3.5 Regression] ICE in tree-inline
  2004-08-21  0:43 [Bug middle-end/17128] New: ICE in tree-line bommar33 at msu dot edu
                   ` (8 preceding siblings ...)
  2004-09-09  9:16 ` aj at gcc dot gnu dot org
@ 2004-09-09  9:21 ` jh at suse dot cz
  2004-09-09 13:43 ` hubicka at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: jh at suse dot cz @ 2004-09-09  9:21 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From jh at suse dot cz  2004-09-09 09:21 -------
Subject: Re:  [3.5 Regression] ICE in tree-inline

> 
> ------- Additional Comments From aj at gcc dot gnu dot org  2004-09-09 09:16 -------
> 
> The code has changed, I guess you need now:
> 
>       gcc_assert (dest->needed || !flag_unit_at_a_time);
> 

Sure, I will update the patch before commiting, thanks!

Honza
> 
> -- 
> 
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17128
> 
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug, or are watching someone who is.


-- 


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug middle-end/17128] [3.5 Regression] ICE in tree-inline
  2004-08-21  0:43 [Bug middle-end/17128] New: ICE in tree-line bommar33 at msu dot edu
                   ` (9 preceding siblings ...)
  2004-09-09  9:21 ` jh at suse dot cz
@ 2004-09-09 13:43 ` hubicka at gcc dot gnu dot org
  2004-09-22 10:43 ` [Bug middle-end/17128] [4.0 " reichelt at gcc dot gnu dot org
  2004-09-25 11:06 ` pinskia at gcc dot gnu dot org
  12 siblings, 0 replies; 14+ messages in thread
From: hubicka at gcc dot gnu dot org @ 2004-09-09 13:43 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From hubicka at gcc dot gnu dot org  2004-09-09 13:43 -------
Fixed by my patch

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug middle-end/17128] [4.0 Regression] ICE in tree-inline
  2004-08-21  0:43 [Bug middle-end/17128] New: ICE in tree-line bommar33 at msu dot edu
                   ` (10 preceding siblings ...)
  2004-09-09 13:43 ` hubicka at gcc dot gnu dot org
@ 2004-09-22 10:43 ` reichelt at gcc dot gnu dot org
  2004-09-25 11:06 ` pinskia at gcc dot gnu dot org
  12 siblings, 0 replies; 14+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2004-09-22 10:43 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From reichelt at gcc dot gnu dot org  2004-09-22 10:43 -------
The example in comment #2 still crashes.

Jan, it looks like your patch was broken. Line 1476 in tree-inline.c now reads   
gcc_assert (dest->needed || flag_unit_at_a_time);
but Andreas suggested in comment #8
gcc_assert (dest->needed || !flag_unit_at_a_time);

Could you please have a look?


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug middle-end/17128] [4.0 Regression] ICE in tree-inline
  2004-08-21  0:43 [Bug middle-end/17128] New: ICE in tree-line bommar33 at msu dot edu
                   ` (11 preceding siblings ...)
  2004-09-22 10:43 ` [Bug middle-end/17128] [4.0 " reichelt at gcc dot gnu dot org
@ 2004-09-25 11:06 ` pinskia at gcc dot gnu dot org
  12 siblings, 0 replies; 14+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-09-25 11:06 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-09-25 11:06 -------
This time fixed for sure.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|                            |FIXED


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


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2004-09-25 11:06 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-21  0:43 [Bug middle-end/17128] New: ICE in tree-line bommar33 at msu dot edu
2004-08-21  0:43 ` [Bug middle-end/17128] ICE in tree-inline bommar33 at msu dot edu
2004-08-21  0:46 ` bommar33 at msu dot edu
2004-08-21  1:48 ` [Bug middle-end/17128] [3.5 Regression] " pinskia at gcc dot gnu dot org
2004-08-21  1:49 ` pinskia at gcc dot gnu dot org
2004-08-21  2:02 ` pinskia at gcc dot gnu dot org
2004-08-23 10:15 ` reichelt at gcc dot gnu dot org
2004-09-09  6:59 ` aj at gcc dot gnu dot org
2004-09-09  9:06 ` jh at suse dot cz
2004-09-09  9:16 ` aj at gcc dot gnu dot org
2004-09-09  9:21 ` jh at suse dot cz
2004-09-09 13:43 ` hubicka at gcc dot gnu dot org
2004-09-22 10:43 ` [Bug middle-end/17128] [4.0 " reichelt at gcc dot gnu dot org
2004-09-25 11:06 ` pinskia at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).