In a Solaris 8/x86 testsuite run, several testcases fails with an ICE: a SEGV
in
allocno_priority_compare_func.
An example is
FAIL: g++.old-deja/g++.bugs/900511_01.C (internal compiler error)
FAIL: g++.old-deja/g++.bugs/900511_01.C (test for excess errors)
WARNING: g++.old-deja/g++.bugs/900511_01.C compilation failed to produce
executable
$ ./cc1plus 900511_01.ii
struct_1::operator int() struct_2::operator float() void test() int main()
Analyzing compilation unit
Performing interprocedural optimizations
<*free_lang_data> <visibility> <early_local_cleanups> <whole-program>
<inline>Assembling functions:
struct_1::operator int() struct_2::operator float() void test()
/vol/gcc/src/hg/trunk/solaris/gcc/testsuite/g++.old-deja/g++.bugs/900511_01.C:
In function 'void test()':
/vol/gcc/src/hg/trunk/solaris/gcc/testsuite/g++.old-deja/g++.bugs/900511_01.C:41:1:
internal compiler error: Segmentation Fault
In gdb, I find this stacktrace:
Program received signal SIGSEGV, Segmentation fault.
allocno_priority_compare_func (v1p=0x8d73c14, v2p=0x8d73c1c)
at /vol/gcc/src/hg/trunk/solaris/gcc/ira-color.c:1750
1750 pri1 = allocno_priorities[ALLOCNO_NUM (a1)];
(gdb) where
#0 allocno_priority_compare_func (v1p=0x8d73c14, v2p=0x8d73c1c)
at /vol/gcc/src/hg/trunk/solaris/gcc/ira-color.c:1750
#1 0xdfadbb3d in qsort () from /usr/lib/libc.so.1
#2 0x084a61b5 in fast_allocation ()
at /vol/gcc/src/hg/trunk/solaris/gcc/ira-color.c:3260
#3 ira_color () at /vol/gcc/src/hg/trunk/solaris/gcc/ira-color.c:3325
#4 0x08491b88 in ira () at /vol/gcc/src/hg/trunk/solaris/gcc/ira.c:3278
#5 rest_of_handle_ira () at /vol/gcc/src/hg/trunk/solaris/gcc/ira.c:3433
#6 0x084f29a8 in execute_one_pass (pass=0x8c24a60)
at /vol/gcc/src/hg/trunk/solaris/gcc/passes.c:1580
#7 0x084f2c89 in execute_pass_list (pass=0x8c24a60)
at /vol/gcc/src/hg/trunk/solaris/gcc/passes.c:1635
#8 0x084f2c9c in execute_pass_list (pass=0x8cb0da0)
at /vol/gcc/src/hg/trunk/solaris/gcc/passes.c:1636
#9 0x085f6382 in tree_rest_of_compilation (fndecl=0xdfa24b80)
at /vol/gcc/src/hg/trunk/solaris/gcc/tree-optimize.c:420
#10 0x0879591d in cgraph_expand_function (node=0xdf992498)
at /vol/gcc/src/hg/trunk/solaris/gcc/cgraphunit.c:1632
#11 0x08798c77 in cgraph_output_in_order ()
at /vol/gcc/src/hg/trunk/solaris/gcc/cgraphunit.c:1805
#12 cgraph_optimize () at /vol/gcc/src/hg/trunk/solaris/gcc/cgraphunit.c:1962
#13 0x08798fff in cgraph_finalize_compilation_unit ()
at /vol/gcc/src/hg/trunk/solaris/gcc/cgraphunit.c:1171
#14 0x08190a82 in cp_write_global_declarations ()
at /vol/gcc/src/hg/trunk/solaris/gcc/cp/decl2.c:3924
#15 0x0859d74c in compile_file (argc=2, argv=0x80477c4)
at /vol/gcc/src/hg/trunk/solaris/gcc/toplev.c:997
#16 do_compile (argc=2, argv=0x80477c4)
at /vol/gcc/src/hg/trunk/solaris/gcc/toplev.c:2342
#17 toplev_main (argc=2, argv=0x80477c4)
at /vol/gcc/src/hg/trunk/solaris/gcc/toplev.c:2383
#18 0x082c16cb in main (argc=2, argv=0x80477c4)
at /vol/gcc/src/hg/trunk/solaris/gcc/main.c:35
This is almost certainly another case of PR bootstrap/43870 and
PR tree-optimization/42157.
Vladimir, could you please have a look?
Thanks.
Rainer
--
Summary: SEGV in allocno_priority_compare_func on Solaris 8
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ro at gcc dot gnu dot org
GCC build triplet: i386-pc-solaris2.8
GCC host triplet: i386-pc-solaris2.8
GCC target triplet: i386-pc-solaris2.8
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44763