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.

crc table operator ignored

Guru 19935 points

Hello,

I am using C2000 compiler version 6.2.11.

why did the linker return a "CRC table operator (_crcTableList) ignored" warning on the .switch line given below.   I have had the linker compute the crc for the other sections without any problems (i.e. .econst and etc).

Thanks,
Stephen

   .econst             : > FLASHDC      PAGE = 0,
                         LOAD_SIZE(_econst_loadsize),
                         crc_table(_crcTableList, algorithm=CRC32_PRIME)

   // The .switch section contains tables for switch statements.
   .switch             : > FLASHDC      PAGE = 0,            <------------------------------------------- "CRC table operator (_crcTableList) ignored"
                         LOAD_SIZE(_switch_loadsize),
                         crc_table(_crcTableList, algorithm=CRC32_PRIME)

  • Ok, the map file shows the following:
    .switch 0 00320000 00000000 UNINITIALIZED

    Therefore, there's no reason for the linker to generate a crc for that section.

    I thought the purpose of the switch section was for a switch statement table. I have switch statements in my program, so why isn't there a table in the switch section?

    Stephen
  • The compiler will only generate a switch table when the switch cases are dense enough to make it profitable. Otherwise, the compiler will generate a tree of if statements.