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.
#"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.