Internal compiler error, output_operand_lossage `invalid expression as operand'
Kevin Nomura
nomura@netapp.com
Wed May 3 20:12:00 GMT 2000
gcc version 2.95.2
hosted on linux (redhat 6.1)
options -O2
Invocation and preprocessed source follow:
[crud]$ linux-gcc-2.95.2 -O2 -v grotty.i
Reading specs from /u/nomura/gcc/gcc-2.95.2%linux/gcc/specs
gcc version 2.95.2 19991024 (release)
/u/nomura/gcc/gcc-2.95.2%linux/gcc/cc1 grotty.i -quiet -O2 -version -o /tmp/ccx94obe.s
GNU C version 2.95.2 19991024 (release) (i686-pc-linux-gnu) compiled by GNU C version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release).
grotty.i: In function `cmd_call':
grotty.i:16: Internal compiler error, output_operand_lossage `invalid expression as operand'
[crud]$ cat grotty.i
typedef void (*pfv)();
void cmd_call(char **av) {
char codebuf[32];
char *code = codebuf;
long addr = 0, arg;
pfv happy = (pfv)codebuf;
while (*++av != 0 )
arg = strtol(av, 0 , 0);
*code++ = (addr & 0xff); addr >>= 8;
*code++ = (addr & 0xff);
(*happy)();
}
[crud]$
More information about the Gcc-bugs
mailing list