why mspgcc does ICE

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

why mspgcc does ICE

Kees Schoenmakers
Hello,

The following piece of code cause an ICE to happen.

typedef struct {
unsigned long maskbits:20;
char extra;
} MYSTRUCT;

MYSTRUCT mys = {0};

void test_ice(void)
{
   unisgned  long lvar = 0x0f;

    mys.maskbits = lvar;   // <<== ICE here
}

kees:$ msp430-gcc -mmcu=msp430f449 -c mspgcc_ice.c
mspgcc_ice.c: In function 'test_ice':
mspgcc_ice.c:13:15: internal compiler error: in convert_move, at expr.c:437
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

msp430-gcc (GCC) 4.7.0 20120322 (mspgcc dev 20120911)
Copyright (C) 2012 Free Software Foundation, Inc.

smaller bitfields work well. I don't know if later mspgcc versions
does ICE here too.

Kees

------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users