Internal compiler error in `int_mode_for_mode'
Andreas Schwab
schwab@suse.de
Thu Jan 20 10:15:00 GMT 2000
The following test case gives an internal compiler error when compiled for
alpha-linux:
$ cat pad2.i
extern char letters[26+1];
char letter;
int letter_number;
char letters[] = "AbCdefghiJklmNopQrStuVwXyZ";
static void
pad_home1 ()
{
letter = letters[letter_number =
letters[letter_number + 1] ? letter_number +
1 : 0];
}
$ gcc -v -S pad2.i
Reading specs from /usr/lib/gcc-lib/alpha-suse-linux/2.95.2/specs
gcc version 2.95.2 19991024 (release)
/usr/lib/gcc-lib/alpha-suse-linux/2.95.2/cc1 pad2.i -quiet -version -o pad2.s
GNU C version 2.95.2 19991024 (release) (alpha-suse-linux) compiled by GNU C version 2.95.2 19991024 (release).
pad2.i: In function `pad_home1':
pad2.i:11: Internal compiler error in `int_mode_for_mode', at stor-layout.c:229
Please submit a full bug report.
See <URL: http://www.gnu.org/software/gcc/faq.html#bugreport > for instructions.
Please note that the abort does not occur when the first line (extern
declaration for letters) is deleted. The problem is that the compiler
generates a MEM rtx for the variable letters without a mode:
(mem/s (symbol_ref:DI ("letters")) 0)
Andreas.
--
Andreas Schwab "And now for something
SuSE Labs completely different."
schwab@suse.de
SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg
More information about the Gcc-bugs
mailing list