I remove d "-no-variable-reuse" from the compiler call to see if there is a different: No it is not, but good idea!
Best Regards, Andreas On Friday, August 18, 2023 at 1:45:42 PM UTC+2 vsurducan wrote: > Hi Rob, I think it's about disabling reusing variable space and not about > expression reduction. > > On Fri 18 Aug 2023, 9:48 AM Rob CJ, <[email protected]> wrote: > >> Hi Andreas >> >> Strange, I will do some testing this weekend. >> >> Thanks for the update. >> >> Met vriendelijke groet, >> Rob Jansen >> ------------------------------ >> *From:* '[email protected]' via jallib <[email protected] >> > >> *Sent:* Friday, August 18, 2023 8:33:06 AM >> *To:* jallib <[email protected]> >> *Subject:* Re: [jallib] IF statement fails >> >> Hi Rob, >> >> I tried that. As a result the code size increased (+200 byte), but the >> program doesn't work any more, the output on my display stopped working, so >> it's hard to further debug this. >> So it's not clear if this helps or not because then other problems come >> into. >> >> Andreas >> >> On Thursday, August 17, 2023 at 10:29:51 PM UTC+2 Rob CJ wrote: >> >> Hi Andreas, >> >> It might be a optimization issues. >> >> Can you add the following to your program and test if the problem is gone? >> >> pragma opt expr_reduce no >> >> It will disable code optimization. >> >> Thanks. >> >> Kind regards, >> >> Rob >> >> ------------------------------ >> *Van:* '[email protected]' via jallib <[email protected]> >> *Verzonden:* donderdag 17 augustus 2023 21:42 >> >> *Aan:* jallib <[email protected]> >> *Onderwerp:* Re: [jallib] IF statement fails >> Hi Rob, >> thanks that you are digging into this problem and maybe found the issue >> already. >> I'm a heavy Jal User I would call myself, but this is the first issue I >> found over the last years :-) >> >> On Thursday, August 17, 2023 at 9:31:13 PM UTC+2 Rob CJ wrote: >> >> Hi Andreas, >> >> I had a quick look at the generated assemble code for a PIC16. >> >> In your first code example the code is (I changed 3 times i into i, j and >> k so I could compile it): >> >> ; 10 i=test1() >> movlw 0 >> movwf v_i >> ; 11 if i>0 & i<13 then >> movf v_i,w >> bsf v__bitbucket, 0 ; _btemp1 >> btfsc v__status, v__z >> >> In your last code example where you removed the function the code is: >> >> clrf v_k >> ; 35 if k>0 & k<13 then >> movf v_k,w >> bsf v__bitbucket, 6 ; _btemp7 >> btfsc v__status, v__z >> >> If I am right - and I hope I am not - the first piece of code does not >> work because the Z flag (v__z) of the status register (v__status) is never >> affected by any of these instructions. In the last code example the clrf >> instruction sets the Z flag. >> >> In other words, moving the return value of 0 to v_i is not the same as >> clearing the value of v_k. So it might be a compiler bug. I wonder why it >> has not been discovered before. >> >> Still need to see if my draft conclusion is correct. >> >> Kind regards, >> >> Rob >> >> >> >> ------------------------------ >> *Van:* '[email protected]' via jallib <[email protected]> >> *Verzonden:* donderdag 17 augustus 2023 21:07 >> *Aan:* jallib <[email protected]> >> *Onderwerp:* Re: [jallib] IF statement fails >> >> Hello Rob, >> PIC is a 18f26K83 >> compiler called with: ../jalv25r7/compiler/jalv2-x86-64 -no-variable-reuse >> no other specific setting >> Thanks, >> Andreas >> >> On Thursday, August 17, 2023 at 9:00:33 PM UTC+2 Rob CJ wrote: >> >> Hi, >> >> For which PIC did you compile this? 12, 16, 18? >> >> Did you use any compiler optimizations? >> >> Thanks. >> >> Kind regards, >> >> Rob >> >> ------------------------------ >> *Van:* '[email protected]' via jallib <[email protected]> >> *Verzonden:* woensdag 16 augustus 2023 22:18 >> *Aan:* jallib <[email protected]> >> *Onderwerp:* [jallib] IF statement fails >> >> Hello everyone, >> >> I found this code is not working (using jal jalv25r7, but also older >> versions). Can anyone pls verify: >> >> >> *var byte i * >> >> >> *function test() return byte is return 0 end function* >> >> *i=test() * >> *if i>0 & i<13 then* >> >> * -- goes here but is wrong * >> *else* >> * ..* >> *end if* >> >> but this code works: >> >> *var byte i * >> >> >> *function test() return byte is return 0 end function* >> *i=test()* >> *if i<13 & i>0 then* >> >> * .. * >> *else* >> >> * -- goes here and OK * >> *end if* >> >> if you remove the function, it works, too: >> >> *var byte i * >> *i=0* >> *if i>0 & i<13 then* >> >> * .. * >> *else* >> * -- goes here and OK* >> *end if* >> >> -- >> You received this message because you are subscribed to the Google Groups >> "jallib" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/jallib/2b197dbf-4628-4acd-b13c-11e3b6ba2228n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/jallib/2b197dbf-4628-4acd-b13c-11e3b6ba2228n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> -- >> You received this message because you are subscribed to the Google Groups >> "jallib" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/jallib/69c9a49a-e83c-4824-a27c-074f25bf0c29n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/jallib/69c9a49a-e83c-4824-a27c-074f25bf0c29n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> -- >> You received this message because you are subscribed to the Google Groups >> "jallib" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/jallib/f2b66222-389b-4f41-8705-41e46aad4528n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/jallib/f2b66222-389b-4f41-8705-41e46aad4528n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> -- >> You received this message because you are subscribed to the Google Groups >> "jallib" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/jallib/c174132e-28a7-4383-9c2d-335a2b025082n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/jallib/c174132e-28a7-4383-9c2d-335a2b025082n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> -- >> You received this message because you are subscribed to the Google Groups >> "jallib" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/jallib/GVXP195MB16376699E4BB8A93181105D7E61BA%40GVXP195MB1637.EURP195.PROD.OUTLOOK.COM >> >> <https://groups.google.com/d/msgid/jallib/GVXP195MB16376699E4BB8A93181105D7E61BA%40GVXP195MB1637.EURP195.PROD.OUTLOOK.COM?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "jallib" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jallib/a4d7714c-a139-4928-9611-e43b7425619cn%40googlegroups.com.
