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

Compiler bug

Hi everybody,
I'm using uVision 5.10.0.2.
I have the following code:

1. double   l_fDouble = 567.8;
2. int      l_iInt = 600 | 0x80000000;
3. bool     l_bCondition = true;
5. t_UInt32 l_iResult = (t_UInt32)l_iInt;
6. l_iResult = (t_UInt32)(l_bCondition ? l_iInt : l_fDouble); // Here l_iResult == 0x80000256
7. return l_iResult; // Here l_iResult == 0

.
After line 5 l_iResult == l_iInt, but after line 6 it becomes 0. Any ideas why that when I use in conditional operator?

Thanks...

0