This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Is this a C compiler bug?



I've got some C code that looks like:

  if( minuteCount > 0x3)
  {
      i = 0xAA;  // debug
  }

For some reason, it jumps into this code (setting i to 0xAA) even when minuteCount is set to 0.  I set the view in Code Composer Studio to "Mixed Source/ASM" and I'm seeing:

  if( minuteCount > 0x3)
00B72F 761F MOVW       DP,#0x02FA
00B731 9203 MOV        AL,@3
00B732 5203 CMPB       AL,#3
  {
       i = 0xAA;  // debug
00B733 56B2 MOVB       *-SP[3],#0x08,GT

}

I'm not an assembly expert, but shouldn't there be some kind of conditional jump made after the CMPB test of AL, when comparing it to #3?

I'm running Code Composer Studio 3.3.59.4

Code Generation Tools v5.0.0B2

Compiler settings:

-g -q -pdr -fr"$(Proj_dir)\Debug" -fs"$(Proj_dir)\Debug" -i"..\..\DSP2833x_headers\include" -i"..\..\DSP2833x_common\include" -i"C:\tidcs\c28\C28x_FPU_Lib\beta1\include" -d"_DEBUG" -d"LARGE_MODEL" -ml -mt -v28 --float_support=fpu32

Any ideas?

Thanks,

Eric