this been fixed a while ago. update gcc sources and recompile. ~d Dan Miner wrote:
> This function compiles OK with -O2 and does not with -O3. > (I'm typically using -O2 but tried -O3 out of curiosity.) > > //====== Begin test.c============================ > #include <io.h> > #include <signal.h> > > typedef signed int SI_16; > typedef unsigned int UI_16; > typedef unsigned long UI_32; > > extern UI_16 time_high; // High word of timer > > critical UI_32 get_time (void) > { > register UI_16 time_L; > register UI_16 time_H; > > time_L = TBR; > time_H = time_high; > > if (((SI_16) time_L) >= 0 && (TBCTL & TBIFG) != 0) > { time_H++; > } > > return (((UI_32) time_H) << 16) | time_L; > } > //====== End test.c ============================= > > Command line and results: > > C:\Work> msp430-gcc -mmcu=msp430x149 -O3 -c test.c > test.c: In function `get_time': > test.c:23: Internal compiler error in verify_local_live_at_start, at > flow.c:586 > Please submit a full bug report, > with preprocessed source if appropriate. > See <URL:http://gcc.gnu.org/bugs.html> for instructions. > > Running on Windows 98SE with the mspgcc-20030506 release. > > - Dan Miner > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Mspgcc-users mailing list > Mspgcc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mspgcc-users