This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Avoid using Keil 4.13a - it generates defective code

I warn anybody before using ARM Keil 4.13a. It generates defective code. I have spent several hours with debugging a code that has been already worked. The problem affects local variables of functions and passing arguments. Code has been wrongly compiled without any optimization. I have no courage and time to test optimizations.

I also encourage Keil not to publish Keil 4.13a any more.

Keil 4.12 seems to be OK.

Parents
  • Unfortunately, without any specific details, your accusation is just about worthless!

    "mis-compiled pointer to variable to a different location"

    What do you mean by that: was the pointer itself placed in a "wrong location", or did the pointer's value point to a "wrong location"?

    "passed completely different pointer"

    What do you mean by that?

    "any analysis would take me lot of time"

    Yes, of course - but without that proper analysis, it's just speculation...

Reply
  • Unfortunately, without any specific details, your accusation is just about worthless!

    "mis-compiled pointer to variable to a different location"

    What do you mean by that: was the pointer itself placed in a "wrong location", or did the pointer's value point to a "wrong location"?

    "passed completely different pointer"

    What do you mean by that?

    "any analysis would take me lot of time"

    Yes, of course - but without that proper analysis, it's just speculation...

Children
  • #"passed completely different pointer"
    #What do you mean by that?

    When I debugged a code and I let Keil to show &c inside watching and I saw some address.
    When I have seen contents of "p" it was different address.

    The "c" was not changed after returning, so it means that some different memory area has been rewritten.

    I am using Keil from 4.10 and I have not observed this issue until 4.13.