[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#457104: gcc-4.2: [hppa] ICE when building cfitsio3



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;
}

Reply to: