We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
When optimiser set to level 9 (Common code block) calls to a certain function are getting optimised out. The function takes a char pointer as an argument, and calculates a checksum from the 'pointed to' string, which gets appended to the end of the string (i.e the function will modify the string). I'm assuming the compiler interprets this function call as redundant, although the body of the function isn't being optimised out... Assuming there's nothing wrong with the function code (!) Why would the optimiser remove these calls, and how do I stop it...? Thanks! David
Valid addresses appear to be in existance for the function in question, as the emulator permits breakpoints to be set with in function body, but no actual calls to this function are 'breakpointable'. During execution, breakpoints which are set within the function body never halt execution, which leads me to suppose that the function is never called, as would be suggested by the unbreakpointable calls. However, I don't receive a linker warning message informing me that an uncalled function has been ignored for overlay purposes- Don't know if this is significant... David