Package: gcc-4.2 Version: 4.2.2-4 Severity: important Hi,
cfisio3 FTBFS on hppa with a gcc ICE: cc -c -g -O2 -D_REENTRANT -DgFortran -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MATH_H=1 -DHAVE_LIMITS_H=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DHAVE_FTRUNCATE=1 -DHAVE_LONGLONG=1 -DHAVE_SHMEM_SERVICES=1 -DHAVE_NET_SERVICES=1 eval_y.c /usr1/local/share/bison.simple: In function 'ffparse': /usr1/local/share/bison.simple:692: internal compiler error: in delete_output_reload, at reload1.c:7958 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. For Debian GNU/Linux specific bug reporting instructions, see <URL:file:///usr/share/doc/gcc-4.2/README.Bugs>. make[2]: *** [eval_y.o] Error 1 make[2]: Leaving directory `/build/buildd/cfitsio3-3.040' make[1]: *** [all] Error 2 make[1]: Leaving directory `/build/buildd/cfitsio3-3.040' make: *** [build-stamp] Error 2 It happens with -O2 or -O3, but not with -O1. gcc-4.1 is not affected. Reduced testcase attached. Cheers, Aurelien -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: hppa (parisc) Kernel: Linux 2.6.18-4-parisc Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages gcc-4.2 depends on: ii binutils 2.18.1~cvs20071027-2 The GNU assembler, linker and bina ii cpp-4.2 4.2.2-4 The GNU C preprocessor ii gcc-4.2-base 4.2.2-4 The GNU Compiler Collection (base ii libc6 2.7-4 GNU C Library: Shared libraries ii libgcc4 4.2.2-4 GCC support library ii libgomp1 4.2.2-4 GCC OpenMP (GOMP) support library Versions of packages gcc-4.2 recommends: ii libc6-dev 2.7-4 GNU C Library: Development Librari -- no debconf information
typedef struct { int type; } Node; typedef struct { Node *Nodes; } ParseData; typedef enum { sum_fct, max1_fct, } funcOp; extern ParseData gParse; typedef union { int Node; char str[256]; } FFSTYPE; static const char fftranslate[] = { 0 }; static const short ffpact[] = { -32768 }; static const short ffcheck[] = { 1 }; int ffchar; ffparse () { int ffstate; int ffn; int ffchar1 = 0; FFSTYPE ffvsp[100]; short *ffss; FFSTYPE ffval; ffnewstate: ffss = (short *) __builtin_alloca (100); ffn = ffpact[ffstate]; if (ffchar == -2) { ffchar = fflex (); ffchar1 = ((unsigned) (ffchar) <= 288 ? fftranslate[ffchar] : 61); } if (ffn < 0 || ffn > 1457 || ffcheck[ffn] != ffchar1) ffreduce: switch (ffn) { case 54: { if (((ffvsp[-2].str)[0] < 'S' ? -1 : (ffvsp[-2].str)[0] > 'S' ? 1 : strcmp ((ffvsp[-2].str), "SUM(")) == 0) New_Func (gParse.Nodes[ffvsp[-1].Node].type, sum_fct, 1, ffvsp[-1].Node, 0, 0, 0, 0, 0, 0); if ((((ffvsp[-2].str)[0] < 'A' ? 1 : strcmp ((ffvsp[-2].str), "ACCUM(")) == 0) && (gParse.Nodes[ffvsp[-1].Node].type == 259)) { } else if (((ffvsp[-2].str)[0] < 'A' ? -1 : (ffvsp[-2].str)[0] > 'A' ? 1 : strcmp ((ffvsp[-2].str), "ABS(")) == 0) New_Func (gParse.Nodes[ffvsp[-1].Node].type, max1_fct, 1, ffvsp[-1].Node, 0, 0, 0, 0, 0, 0); if (gParse.Nodes[ffvsp[-1].Node].type != 260) if ((ffval.Node) < 0) goto ffreduce; } } goto ffnewstate; }