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

             Bug #: 54088
           Summary: ICE at dwarf2out.c:20632 with -O1 and sparc
    Classification: Unclassified
           Product: gcc
           Version: 4.7.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: jeng...@medozas.de
              Host: sparc64-suse-linux/sparcv9-suse-linux


I have narrowed down a case whereby gcc-4.7.1-20120723 fails to compile itself
on sparcv9 and sparc64.

Host compiler:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/sparc64-suse-linux/4.7/lto-wrapper
Target: sparc64-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info
--mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib
--enable-languages=c,c++,objc,fortran,obj-c++,java --enable-checking=release
--with-gxx-include-dir=/usr/include/c++/4.7 --enable-ssp --disable-libssp
--disable-libitm --disable-plugin --with-bugurl=http://bugs.opensuse.org/
--with-pkgversion='SUSE Linux' --disable-libgcj --disable-libmudflap
--with-slibdir=/lib --with-system-zlib --enable-__cxa_atexit
--enable-libstdcxx-allocator=new --disable-libstdcxx-pch
--enable-version-specific-runtime-libs --enable-linker-build-id
--program-suffix=-4.7 --enable-linux-futex --without-system-libunwind
--with-cpu=v8 --with-long-double-128 --build=sparc64-suse-linux
Thread model: posix
gcc version 4.7.1 20120723 [gcc-4_7-branch revision 189773] (SUSE Linux) 

The new compiler is configured a bit simplified:

jengelh@ares:/tmp/gcc-4.7.1-20120723/obj> ../configure --with-cpu=v8
--enable-languages=c && make STAGE1_CFLAGS='-O1 -g'

[...]
Checking for build/host/target... sparc64-suse-linux
[...]
gcc -c  -DIN_GCC_FRONTEND -O1 -g -DIN_GCC   -W -Wall -Wno-narrowing
-Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes
-Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings -Wold-style-definition -Wc++-compat -fno-common 
-DHAVE_CONFIG_H -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include
-I../../gcc/../libcpp/include  -I../../gcc/../libdecnumber
-I../../gcc/../libdecnumber/dpd -I../libdecnumber    ../../gcc/c-parser.c -o
c-parser.o
../../gcc/c-parser.c: In function ‘c_parser_omp_for_loop’:
../../gcc/c-parser.c:10140:1: internal compiler error: in
dwarf2out_var_location, at dwarf2out.c:20366
Please submit a full bug report,
with preprocessed source if appropriate.


This can happen in a bunch of different places; I have seen it occur with the
gcc/graphite-poly.c source file also; in both cases, it triggered this assert
in line 20332-20336:

gcc_assert (prev   
   && (CALL_P (prev)
       || (NONJUMP_INSN_P (prev)
           && GET_CODE (PATTERN (prev)) == SEQUENCE  
           && CALL_P (XVECEXP (PATTERN (prev), 0, 0)))));

A user account can be provided, if desired.

Reply via email to