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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mspgcc-users