To confirm this I changed a volatile int to a volatile long and that triggered the bug. As I noted earlier, it is also triggered by compling msp430-libc in sf_rint.c
Garst "Francisco T. A. Silva" wrote: > > Hi all, > > I've just built mspgcc 3.4.0 with an uptodate gcc/gcc-current from CVS. > The following bug is a show stopper for me :( > > The error is triggered by the volatile keyword with long and long long types. > > [teste]$ cat test.c > > volatile long test; > > void main (void) { > test = 0; > } > > [teste]$ msp430-gcc --version > msp430-gcc (GCC) 3.4.0 > Copyright (C) 2004 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > > [teste]$ msp430-gcc -O test.c > test.c: In function `main': > test.c:3: warning: return type of 'main' is not `int' > test.c:5: error: unrecognizable insn: > (insn 17 16 11 0 (set (subreg:HI (mem/v/f:SI (symbol_ref:HI ("test") > <var_decl 0x401ceca8 test>) [0 test+0 S4 A16]) 2) > (const_int 0 [0x0])) -1 (nil) > (nil)) > test.c:5: internal compiler error: in extract_insn, at recog.c:2083 > Please submit a full bug report, > with preprocessed source if appropriate. > See <URL:http://gcc.gnu.org/bugs.html> for instructions. > > Regards, > -- > Francisco