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: unassig...@gcc.gnu.org ReportedBy: ubiz...@gmail.com CC: ja...@gcc.gnu.org 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