From: Jim P. <ji...@jt...> - 2008-03-23 05:56:14
|
Hi, It seems pic14 is broken in 2.8.0-rc1: $ cd /tmp $ echo '#include <pic/pic14regs.h>' > test.c $ echo 'void main() {while(!RA2);}' >> test.c $ sdcc/bin/sdcc --version SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.8.0 #5082 (Mar 9 2008) (UNIX) $ sdcc/bin/sdcc -mpic14 -p16f628a -S test.c $ grep -A 3 while test.asm ; .line 2; "test.c" void main() {while(!RA2);} BTFSS INDF,2 GOTO _00105_DS_ RETURN It should be testing PORTA, not INDF. This code was OK in 2.7.0: $ sdcc --version SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.7.0 #4818 (Feb 14 2008) (UNIX) $ sdcc -mpic14 -p16f628a -S test.c $ grep -A 3 while test.asm ; .line 2; "test.c" void main() {while(!RA2);} BANKSEL _PORTA_bits BTFSS _PORTA_bits,2 GOTO _00105_DS_ -jim |
From: Borut R. <bor...@si...> - 2008-03-23 06:59:18
|
It happened in the svn revision #5064, rev. #5063 was OK. Raphael, can you please take a look ASAP? Borut Jim Paris wrote: > Hi, > > It seems pic14 is broken in 2.8.0-rc1: > > $ cd /tmp > $ echo '#include <pic/pic14regs.h>' > test.c > $ echo 'void main() {while(!RA2);}' >> test.c > $ sdcc/bin/sdcc --version > SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.8.0 #5082 (Mar 9 2008) (UNIX) > $ sdcc/bin/sdcc -mpic14 -p16f628a -S test.c > $ grep -A 3 while test.asm > ; .line 2; "test.c" void main() {while(!RA2);} > BTFSS INDF,2 > GOTO _00105_DS_ > RETURN > > It should be testing PORTA, not INDF. > This code was OK in 2.7.0: > > $ sdcc --version > SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.7.0 #4818 (Feb 14 2008) (UNIX) > $ sdcc -mpic14 -p16f628a -S test.c > $ grep -A 3 while test.asm > ; .line 2; "test.c" void main() {while(!RA2);} > BANKSEL _PORTA_bits > BTFSS _PORTA_bits,2 > GOTO _00105_DS_ > > -jim > |
From: Borut R. <bor...@si...> - 2008-03-23 06:59:18
|
It happened in the svn revision #5064, rev. #5063 was OK. Raphael, can you please take a look ASAP? Borut Jim Paris wrote: > Hi, > > It seems pic14 is broken in 2.8.0-rc1: > > $ cd /tmp > $ echo '#include <pic/pic14regs.h>' > test.c > $ echo 'void main() {while(!RA2);}' >> test.c > $ sdcc/bin/sdcc --version > SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.8.0 #5082 (Mar 9 2008) (UNIX) > $ sdcc/bin/sdcc -mpic14 -p16f628a -S test.c > $ grep -A 3 while test.asm > ; .line 2; "test.c" void main() {while(!RA2);} > BTFSS INDF,2 > GOTO _00105_DS_ > RETURN > > It should be testing PORTA, not INDF. > This code was OK in 2.7.0: > > $ sdcc --version > SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.7.0 #4818 (Feb 14 2008) (UNIX) > $ sdcc -mpic14 -p16f628a -S test.c > $ grep -A 3 while test.asm > ; .line 2; "test.c" void main() {while(!RA2);} > BANKSEL _PORTA_bits > BTFSS _PORTA_bits,2 > GOTO _00105_DS_ > > -jim > |
From: Borut R. <bor...@si...> - 2008-03-23 07:55:26
|
I found a Q&D solution: if AOP_PCODE is set to 13 in gen.h, everything is OK. It seems that a constant is used somewhere in the code :-( . I'll commit the change for the RC2. Borut Borut Razem wrote: > It happened in the svn revision #5064, rev. #5063 was OK. > > Raphael, can you please take a look ASAP? > > Borut > > Jim Paris wrote: > >> Hi, >> >> It seems pic14 is broken in 2.8.0-rc1: >> >> $ cd /tmp >> $ echo '#include <pic/pic14regs.h>' > test.c >> $ echo 'void main() {while(!RA2);}' >> test.c >> $ sdcc/bin/sdcc --version >> SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.8.0 #5082 (Mar 9 2008) (UNIX) >> $ sdcc/bin/sdcc -mpic14 -p16f628a -S test.c >> $ grep -A 3 while test.asm >> ; .line 2; "test.c" void main() {while(!RA2);} >> BTFSS INDF,2 >> GOTO _00105_DS_ >> RETURN >> >> It should be testing PORTA, not INDF. >> This code was OK in 2.7.0: >> >> $ sdcc --version >> SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.7.0 #4818 (Feb 14 2008) (UNIX) >> $ sdcc -mpic14 -p16f628a -S test.c >> $ grep -A 3 while test.asm >> ; .line 2; "test.c" void main() {while(!RA2);} >> BANKSEL _PORTA_bits >> BTFSS _PORTA_bits,2 >> GOTO _00105_DS_ >> >> -jim >> |
From: Borut R. <bor...@si...> - 2008-03-23 07:59:37
|
Jim Paris, can you please file the bug to the sdcc bug tracker? Borut Borut Razem wrote: > I found a Q&D solution: if AOP_PCODE is set to 13 in gen.h, everything > is OK. > It seems that a constant is used somewhere in the code :-( . > I'll commit the change for the RC2. > > Borut > > > Borut Razem wrote: > >> It happened in the svn revision #5064, rev. #5063 was OK. >> >> Raphael, can you please take a look ASAP? >> >> Borut >> >> Jim Paris wrote: >> >> >>> Hi, >>> >>> It seems pic14 is broken in 2.8.0-rc1: >>> >>> $ cd /tmp >>> $ echo '#include <pic/pic14regs.h>' > test.c >>> $ echo 'void main() {while(!RA2);}' >> test.c >>> $ sdcc/bin/sdcc --version >>> SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.8.0 #5082 (Mar 9 2008) (UNIX) >>> $ sdcc/bin/sdcc -mpic14 -p16f628a -S test.c >>> $ grep -A 3 while test.asm >>> ; .line 2; "test.c" void main() {while(!RA2);} >>> BTFSS INDF,2 >>> GOTO _00105_DS_ >>> RETURN >>> >>> It should be testing PORTA, not INDF. >>> This code was OK in 2.7.0: >>> >>> $ sdcc --version >>> SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.7.0 #4818 (Feb 14 2008) (UNIX) >>> $ sdcc -mpic14 -p16f628a -S test.c >>> $ grep -A 3 while test.asm >>> ; .line 2; "test.c" void main() {while(!RA2);} >>> BANKSEL _PORTA_bits >>> BTFSS _PORTA_bits,2 >>> GOTO _00105_DS_ >>> >>> -jim >>> >>> > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > sdcc-devel mailing list > sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-devel > > > |
From: Raphael N. <rn...@we...> - 2008-03-23 08:13:04
|
Hi, the bug has gone away since r5106 and does not appear in the current svn revision r5114. > can you please file the bug to the sdcc bug tracker? No need for it, it's already fixed. >> I found a Q&D solution: if AOP_PCODE is set to 13 in gen.h, everything >> is OK. >> It seems that a constant is used somewhere in the code :-( . >> I'll commit the change for the RC2. This is ugly and wrong; r5106 has the correct fix. I'd leave the source as it was. Regards, Raphael |
From: Borut R. <bor...@si...> - 2008-03-23 08:37:44
|
Raphael, you are right, and I'm stupid :-[ I checked with older versions, not with the latest ones. I'll revert the change. Thank you, Borut Raphael Neider wrote: > Hi, > > the bug has gone away since r5106 and does not appear in the current svn > revision r5114. > > >> can you please file the bug to the sdcc bug tracker? >> > > No need for it, it's already fixed. > > >>> I found a Q&D solution: if AOP_PCODE is set to 13 in gen.h, everything >>> is OK. >>> It seems that a constant is used somewhere in the code :-( . >>> I'll commit the change for the RC2. >>> > > This is ugly and wrong; r5106 has the correct fix. > > I'd leave the source as it was. > > Regards, > Raphael > |