The following code produces the following error. It doesn't trigger the error 
if the global is not marked volatile. Any ideas?



gcc-current from CVS as of a week ago
gcc-3.4.4
Linux 


Code: 

volatile uint32_t t;

int main() {
  int count;
  count = count << 3;

  uint32_t g = count;

  t = g | t;
}


Error:

msp430-gcc -g -mmcu=msp430x1611 -o main main.c
main.c: In function `main':
main.c:61: error: unrecognizable insn:
(insn 75 74 28 0 main.c:27 (set:HI (subreg:HI (mem/v/f:SI (symbol_ref:HI ("t") 
<var_decl 0xb7cfbaf8 t>) [0 t+0 S4 A16]) 2)
        (ior:HI (subreg:HI (mem/v/f:SI (symbol_ref:HI ("t") <var_decl 
0xb7cfbaf8 t>) [0 t+0 S4 A16]) 2)
            (mem/f:HI (plus:HI (reg/f:HI 4 r4)
                    (const_int 4 [0x4])) [0 g+2 S2 A16]))) -1 (nil)
    (nil))
main.c:61: 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.
make: *** [main] Error 1

Reply via email to