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

if (0) condition, but entered.

Hi,

I am using GNU compiler in uVision 3.51. A portion of code is simliar to below:

X = 100; Y = 100; If(x!=y){ Xxxx; }else{ Yyyy; }

By using break point, i found that both Xxxx and Yyyy are entered. It happened in both subroutine, and main. Both X and Y are declared as unsigned integer as global variables. The entire code is less than 16K (about 70% of 16K). Do you have any idea on this? The IC used is LPC2129. Thanks for your advice.

Regards,

Parents
  • "both branches are entered by 'break point', but only the one fulfilling the true condition is excuted"

    In other words, the code is actually operating correctly?

    "So it looked like the debugger is causing such trouble."

    No: it sounds like it's your interpretation of what the debugger is doing (especially with conditional instructions) that's faulty, not the actual debugger?

Reply
  • "both branches are entered by 'break point', but only the one fulfilling the true condition is excuted"

    In other words, the code is actually operating correctly?

    "So it looked like the debugger is causing such trouble."

    No: it sounds like it's your interpretation of what the debugger is doing (especially with conditional instructions) that's faulty, not the actual debugger?

Children
No data