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