http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48214
Summary: internal compiler error: in dwarf2out_var_location, at
dwarf2out.c:21983
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: bootstrap
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
Target: alpha-linux-gnu
Revision 171033 [1] breaks bootstrap on alpha:
gmake[4]: Entering directory
`/space/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/libsupc++'
/bin/sh ../libtool --tag CXX --tag disable-shared --mode=compile
/home/uros/gcc-build/./gcc/xgcc -shared-libgcc -B/home/uros/gcc-build/./gcc
-nostdinc++ -L/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src
-L/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs
-B/usr/local/alphaev68-unknown-linux-gnu/bin/
-B/usr/local/alphaev68-unknown-linux-gnu/lib/ -isystem
/usr/local/alphaev68-unknown-linux-gnu/include -isystem
/usr/local/alphaev68-unknown-linux-gnu/sys-include
-I/home/uros/gcc-svn/trunk/libstdc++-v3/../gcc
-I/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/include/alphaev68-unknown-linux-gnu
-I/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/include
-I/home/uros/gcc-svn/trunk/libstdc++-v3/libsupc++ -fno-implicit-templates
-prefer-pic -Wall -Wextra -Wwrite-strings -Wcast-qual
-fdiagnostics-show-location=once -ffunction-sections -fdata-sections -g -O2
-D_GNU_SOURCE -mieee -c -o eh_alloc.lo
../../../../gcc-svn/trunk/libstdc++-v3/libsupc++/eh_alloc.cc
libtool: compile: /home/uros/gcc-build/./gcc/xgcc -shared-libgcc
-B/home/uros/gcc-build/./gcc -nostdinc++
-L/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src
-L/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/src/.libs
-B/usr/local/alphaev68-unknown-linux-gnu/bin/
-B/usr/local/alphaev68-unknown-linux-gnu/lib/ -isystem
/usr/local/alphaev68-unknown-linux-gnu/include -isystem
/usr/local/alphaev68-unknown-linux-gnu/sys-include
-I/home/uros/gcc-svn/trunk/libstdc++-v3/../gcc
-I/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/include/alphaev68-unknown-linux-gnu
-I/home/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/include
-I/home/uros/gcc-svn/trunk/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall
-Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once
-ffunction-sections -fdata-sections -g -O2 -D_GNU_SOURCE -mieee -c
../../../../gcc-svn/trunk/libstdc++-v3/libsupc++/eh_alloc.cc -fPIC -DPIC -o
eh_alloc.o
../../../../gcc-svn/trunk/libstdc++-v3/libsupc++/eh_alloc.cc: In function
‘void* __cxxabiv1::__cxa_allocate_exception(std::size_t)’:
../../../../gcc-svn/trunk/libstdc++-v3/libsupc++/eh_alloc.cc:138:1: internal
compiler error: in dwarf2out_var_location, at dwarf2out.c:21983
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
gmake[4]: *** [eh_alloc.lo] Error 1
gmake[4]: Leaving directory
`/space/uros/gcc-build/alphaev68-unknown-linux-gnu/libstdc++-v3/libsupc++'
The ICE can be triggered with a cross to alpha-linux-gnu with attached test.
~/gcc-build-alpha/gcc/cc1plus -O2 -g eh_alloc.ii
../../../../gcc-svn/trunk/libstdc++-v3/libsupc++/eh_alloc.cc: In function
‘void* __cxxabiv1::__cxa_allocate_exception(std::size_t)’:
../../../../gcc-svn/trunk/libstdc++-v3/libsupc++/eh_alloc.cc:138:1: internal
compiler error: in dwarf2out_var_location, at dwarf2out.c:21983
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
gdb session:
(gdb) up
#1 0x00000000006f1f42 in dwarf2out_var_location (loc_note=0x2aaaaee3a680)
at ../../gcc-svn/trunk/gcc/dwarf2out.c:21979
21979 gcc_assert (prev
(gdb) li
21974 = ggc_alloc_cleared_call_arg_loc_node ();
21975 rtx prev = prev_real_insn (loc_note), x;
21976 ca_loc->call_arg_loc_note = loc_note;
21977 ca_loc->next = NULL;
21978 ca_loc->label = last_label;
21979 gcc_assert (prev
21980 && (CALL_P (prev)
21981 || (NONJUMP_INSN_P (prev)
21982 && GET_CODE (PATTERN (prev)) == SEQUENCE
21983 && CALL_P (XVECEXP (PATTERN (prev), 0, 0)))));
(gdb) p debug_rtx (prev)
(const_int 2 [0x2])
[1] http://gcc.gnu.org/viewcvs?view=revision&revision=171033