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.

Reply via email to