Bootstrap including gfortran has been broken on native i386-pc-mingw32 for at
least 10 days, with the C compiler having an ICE while compiling
libgfortran/io/write.c. I finally found the opportunity to reduce the ICE to
the following code:

$ cat write.i
extern void fflush (int);
extern __attribute__ ((__dllimport__)) int _iob[];
static int __gthrw_pthread_once () __attribute__
((__weakref__("pthread_once")));

void flush_if_preconnected ()
{
  fflush (_iob[0]);
}

$ C:/msys/1.0.10/home/FX/ibin/gcc/cc1.exe write.i -quiet
write.i:8: internal compiler error: Segmentation fault


The backtrace I could get from gdb looks seriously garbled:

Program received signal SIGSEGV, Segmentation fault.
decl_assembler_name_equal (decl=0x2ae2360, asmname=0x2ae1930)
    at ../../trunk/gcc/tree.c:323
323       if (IDENTIFIER_POINTER (decl_asmname)[0] == '*')
(gdb) where
#0  decl_assembler_name_equal (decl=0x2ae2360, asmname=0x2ae1930)
    at ../../trunk/gcc/tree.c:323
#1  0x00512973 in decl_assembler_name_equal (decl=0x2ae1930, 
    asmname=0x290f200) at ../../trunk/gcc/tree.c:314
#2  0x00512973 in decl_assembler_name_equal (decl=0x0, asmname=0x3d2412)
    at ../../trunk/gcc/tree.c:314
#3  0x00512973 in decl_assembler_name_equal (decl=0x3d2412, asmname=0x0)
    at ../../trunk/gcc/tree.c:314
#4  0x00512973 in decl_assembler_name_equal (decl=0x3d2412, asmname=0x0)
    at ../../trunk/gcc/tree.c:314
#5  0x00512973 in decl_assembler_name_equal (decl=0x0, asmname=0x0)
    at ../../trunk/gcc/tree.c:314
#6  0x00512973 in decl_assembler_name_equal (decl=0x3, asmname=0x3d24a0)
    at ../../trunk/gcc/tree.c:314
#7  0x00512973 in decl_assembler_name_equal (decl=0x3a, asmname=0x4)
    at ../../trunk/gcc/tree.c:314
#8  0x00512973 in decl_assembler_name_equal (decl=0x1, asmname=0x9)
    at ../../trunk/gcc/tree.c:314
#9  0x00512973 in decl_assembler_name_equal (decl=0x0, asmname=0x2)
    at ../../trunk/gcc/tree.c:314
#10 0x00512973 in decl_assembler_name_equal (decl=0x401280, asmname=0x0)
    at ../../trunk/gcc/tree.c:314
#11 0x00512973 in decl_assembler_name_equal (decl=)
    at ../../trunk/gcc/tree.c:314
Backtrace stopped: previous frame inner to this frame (corrupt stack?)


-- 
           Summary: ICE while compiling libgfortran/io/write.c
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: fxcoudert at gcc dot gnu dot org
 GCC build triplet: i386-pc-mingw32
  GCC host triplet: i386-pc-mingw32
GCC target triplet: i386-pc-mingw32


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

Reply via email to