This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Internal compiler error in gcc-2.95 19990623 on PowerPC


I've encountered several errors in the 19990623 snapshot of gcc-2.95.

I found this bug compiling a piece of software on LinuxPPC.  The
distribution of Linux is LinuxPPC R5 final.  The kernel is 2.2.4.
I am using glibc-2.1.1 which came with the distribution.  The machine
I am running on is a PowerBook G3/266 with 192M of ram.  I have isolated
the problem to a simple example.  Although this may look degenerate (I
don't allocate any memory), it serves its purpose to trigger the bug,
and an identical problem happens in real code.

This code compiles fine with egcs-2.91.66 (egcs-1.1.2 release).

An example session follows.  The bug happens with ANY optimization flags
greater than -O0:

| ramoth:~ 301% gcc -v
| Reading specs from /usr/lib/gcc-lib/powerpc-unknown-linux-gnu/gcc-2.95/specs
| gcc version gcc-2.95 19990623 (prerelease)
| ramoth:~ 302% cat breakage.c
| int main()
| {
|     int *ip;
|     int i = 1, j = 1, n = 10;
|     double *dpi;
|
|     for (i = 0; i < n; i++) {
|         *(dpi++) = (double) ip[i+n*j];
|         *(dpi++) = 0.;
|     }
|
|     return 0;
| }
| ramoth:~ 303% gcc --save-temps -O -c breakage.c
| breakage.c: In function `main':
| breakage.c:13: Internal compiler error in `output_440', at insn-output.c:1524
| Please submit a full bug report to `egcs-bugs@egcs.cygnus.com'.
| See <URL:http://egcs.cygnus.com/faq.html#bugreport> for details.

gcc was configured with '../egcs-19990623/configure --prefix=/usr'.

I made no modifications to the compiler source.

Removing the for loop or either of the two statements contained within
make it compile.

I had several other problems with 'output_440' errors, but have not
isolated the bug yet.  Unfortunately I cannot send the full source.

Thank you,
-bcd
--
**               Brian Downing
**  UNIX Systems Administrator
**        bdowning@wolfram.com

int main()
{
	int *ip;
	int i = 1, j = 1, n = 10;
	double *dpi;

	for (i = 0; i < n; i++) {
		*(dpi++) = (double) ip[i+n*j];
		*(dpi++) = 0.;
	}

	return 0;
}
# 1 "breakage.c"
int main()
{
	int *ip;
	int i = 1, j = 1, n = 10;
	double *dpi;

	for (i = 0; i < n; i++) {
		*(dpi++) = (double) ip[i+n*j];
		*(dpi++) = 0.;
	}

	return 0;
}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]