This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/15666] [3.4 regression] [unit-at-a-time] Gcc abort on valid code
- From: "hjl at lucon dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 31 May 2004 05:56:09 -0000
- Subject: [Bug middle-end/15666] [3.4 regression] [unit-at-a-time] Gcc abort on valid code
- References: <20040526200425.15666.hjl@lucon.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From hjl at lucon dot org 2004-05-31 05:56 -------
Starting program: /export/build/gnu/gcc-3.4/build-pentium4-linux/gcc/cc1 -
fpreprocessed foo.i -quiet -dumpbase foo.i -mtune=pentiumpro -auxbase foo -O2 -
version -o foo.s
GNU C version 3.4.1 20040529 (prerelease) (i686-pc-linux-gnu)
compiled by GNU C version 3.4.1 20040529 (prerelease).
GGC heuristics: --param ggc-min-expand=63 --param ggc-min-heapsize=62888
Breakpoint 1, cgraph_node (decl=0xb766dd80)
at /net/gnu/export/gnu/src/gcc-3.4/gcc/gcc/cgraph.c:101
101 if (TREE_CODE (decl) != FUNCTION_DECL)
<function_decl 0xb766dd80 __builtin_strchr
type <function_type 0xb766b948
type <pointer_type 0xb76a3ec4 type <integer_type 0xb769c360 char>
unsigned SI
size <integer_cst 0xb769a7d0 constant 32>
unit size <integer_cst 0xb769a820 constant 4>
align 32 symtab 0 alias set -1>
DI
size <integer_cst 0xb769a5a0 constant 64>
unit size <integer_cst 0xb769a794 constant 8>
align 64 symtab 0 alias set -1
attributes <tree_list 0xb7668c58
purpose <identifier_node 0xb76873c0 nonnull>
value <tree_list 0xb768b780
value <integer_cst 0xb768b76c constant 1>>>
arg-types <tree_list 0xb7684b18 value <pointer_type 0xb7686bd0>
chain <tree_list 0xb7684b04 value <integer_type 0xb769c4a4 int>
chain <tree_list 0xb768467c value <void_type 0xb76a3870
void>>>>
pointer_to_this <pointer_type 0xb75f057c>>
used nothrow public external built-in QI file <internal> line 0
built-in BUILT_IN_NORMAL:BUILT_IN_STRCHR context <translation_unit_decl
0xb769c144> attributes <tree_list 0xb766e0b4>
(mem:QI (symbol_ref:SI ("strchr") [flags 0x41] <function_decl 0xb766dd80
__builtin_strchr>) [0 S1 A8]) chain <function_decl 0xb766de58 strchr>>
(gdb) bt
#0 cgraph_node (decl=0xb766dd80)
at /net/gnu/export/gnu/src/gcc-3.4/gcc/gcc/cgraph.c:101
#1 0x082a6d48 in cgraph_rtl_info (decl=0xb766dd80)
at /net/gnu/export/gnu/src/gcc-3.4/gcc/gcc/cgraph.c:364
#2 0x080a9468 in flags_from_decl_or_type (exp=0xb766dd80)
at /net/gnu/export/gnu/src/gcc-3.4/gcc/gcc/calls.c:706
#3 0x080a94ee in call_expr_flags (t=0xb76a12b8)
at /net/gnu/export/gnu/src/gcc-3.4/gcc/gcc/calls.c:763
#4 0x08272012 in build (code=CALL_EXPR, tt=0x1e)
at /net/gnu/export/gnu/src/gcc-3.4/gcc/gcc/tree.c:2391
#5 0x0806865a in build_function_call (function=0xb7657e4c, params=0xb7657e24)
at /net/gnu/export/gnu/src/gcc-3.4/gcc/gcc/c-typeck.c:1762
#6 0x0804c0b6 in yyparse () at c-parse.y:642
#7 0x0804f9bb in c_parse_file () at c-parse.y:3028
#8 0x0807e969 in c_common_parse_file (set_yydebug=30)
at /net/gnu/export/gnu/src/gcc-3.4/gcc/gcc/c-opts.c:1237
#9 0x0826eaad in toplev_main (argc=30, argv=0xbfffdcbc)
at /net/gnu/export/gnu/src/gcc-3.4/gcc/gcc/toplev.c:1822
#10 0x0809821e in main (argc=30, argv=0x1e)
at /net/gnu/export/gnu/src/gcc-3.4/gcc/gcc/main.c:35
(gdb) call decl_assembler_name (decl)
$1 = (union tree_node *) 0xb766c880
(gdb) call debug_tree(0xb766c880)
<identifier_node 0xb766c880 strchr
symbol <function_decl 0xb766de58 strchr
type <function_type 0xb766b948 type <pointer_type 0xb76a3ec4>
DI
size <integer_cst 0xb769a5a0 constant 64>
unit size <integer_cst 0xb769a794 constant 8>
align 64 symtab 0 alias set -1
attributes <tree_list 0xb7668c58
purpose <identifier_node 0xb76873c0 nonnull>
value <tree_list 0xb768b780
value <integer_cst 0xb768b76c constant 1>>>
arg-types <tree_list 0xb7684b18 value <pointer_type 0xb7686bd0>
chain <tree_list 0xb7684b04 value <integer_type 0xb769c4a4 int>
chain <tree_list 0xb768467c value <void_type 0xb76a3870
void>>>>
pointer_to_this <pointer_type 0xb75f057c>>
nothrow public external built-in decl_3 QI file <internal> line 0
built-in BUILT_IN_NORMAL:BUILT_IN_STRCHR context
<translation_unit_decl 0xb769c144> attributes <tree_list 0xb766e0f0>
(mem:QI (symbol_ref:SI ("strchr") [flags 0x41] <function_decl
0xb766de58 strchr>) [0 S1 A8])
chain <function_decl 0xb766df30 __builtin_strcmp type <function_type
0xb767006c>
nothrow public external built-in QI file <internal> line 0
built-in BUILT_IN_NORMAL:BUILT_IN_STRCMP context
<translation_unit_decl 0xb769c144> attributes <tree_list 0xb766e140>
(mem:QI (symbol_ref:SI ("strcmp") [flags 0x41] <function_decl
0xb766df30 __builtin_strcmp>) [0 S1 A8]) chain <function_decl 0xb76700d8
strcmp>>>>
(gdb) c
Continuing.
Breakpoint 2, cgraph_remove_node (node=0xb75f05e8)
at /net/gnu/export/gnu/src/gcc-3.4/gcc/gcc/cgraph.c:218
218 cgraph_remove_edge (node->callers->caller, node);
<function_decl 0xb766dd80 __builtin_strchr
type <function_type 0xb766b948
type <pointer_type 0xb76a3ec4 type <integer_type 0xb769c360 char>
unsigned SI
size <integer_cst 0xb769a7d0 constant 32>
unit size <integer_cst 0xb769a820 constant 4>
align 32 symtab 0 alias set -1>
DI
size <integer_cst 0xb769a5a0 constant 64>
unit size <integer_cst 0xb769a794 constant 8>
align 64 symtab 0 alias set -1
attributes <tree_list 0xb7668c58
purpose <identifier_node 0xb76873c0 nonnull>
value <tree_list 0xb768b780
value <integer_cst 0xb768b76c constant 1>>>
arg-types <tree_list 0xb7684b18 value <pointer_type 0xb7686bd0>
chain <tree_list 0xb7684b04 value <integer_type 0xb769c4a4 int>
chain <tree_list 0xb768467c value <void_type 0xb76a3870
void>>>>
pointer_to_this <pointer_type 0xb75f057c>>
used nothrow public external built-in QI file <internal> line 0
built-in BUILT_IN_NORMAL:BUILT_IN_STRCHR context <translation_unit_decl
0xb769c144> attributes <tree_list 0xb766e0b4> chain <function_decl 0xb766de58
strchr>>
(gdb) bt
#0 cgraph_remove_node (node=0xb75f05e8)
at /net/gnu/export/gnu/src/gcc-3.4/gcc/gcc/cgraph.c:218
#1 0x082a8f38 in cgraph_optimize ()
at /net/gnu/export/gnu/src/gcc-3.4/gcc/gcc/cgraphunit.c:892
#2 0x08086374 in c_objc_common_finish_file ()
at /net/gnu/export/gnu/src/gcc-3.4/gcc/gcc/c-objc-common.c:245
#3 0x0826eaad in toplev_main (argc=0, argv=0xbffffcbc)
at /net/gnu/export/gnu/src/gcc-3.4/gcc/gcc/toplev.c:1822
#4 0x0809821e in main (argc=0, argv=0x0)
at /net/gnu/export/gnu/src/gcc-3.4/gcc/gcc/main.c:35
(gdb) call decl_assembler_name (node->decl)
$2 = (union tree_node *) 0xb75ee680
(gdb) call debug_tree(0xb75ee680)
<identifier_node 0xb75ee680 *bar>
(gdb) next
220 cgraph_remove_edge (node, node->callees->callee);
(gdb)
222 cgraph_remove_node (node->nested);
(gdb)
223 if (node->origin)
(gdb)
231 if (node->previous)
(gdb)
234 cgraph_nodes = node->next;
(gdb)
235 if (node->next)
(gdb)
237 DECL_SAVED_TREE (node->decl) = NULL;
(gdb)
238 DECL_SAVED_INSNS (node->decl) = NULL;
(gdb)
239 DECL_ARGUMENTS (node->decl) = NULL;
(gdb)
240 DECL_INITIAL (node->decl) = error_mark_node;
(gdb)
241 slot =
(gdb)
245 if (slot == 0)
(gdb) p slot
$3 = (void **) 0x0
(gdb)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15666