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.

Compiler/TMS320F280049: MISRA-C 2004 check is different in C28x and CLA?

Part Number: TMS320F280049


Tool/software: TI C/C++ Compiler

Champs,

I am asking this for our customer.

The user's environment is:

CCS : 8.3.0.00009

Compiler : TI v 18.1.4.LTS

It's weird they got much different results by MISRA-C 2004 when they compiled the same code in C28x and CLA.

On CLA, they got much more warning on the codes.

The warnings are basically Rule 10.1 and 12.2 like below:

#1393-D (MISRA-C:2004 10.1/R) The value of an expression of integer type shall not be implicitly converted to a different underlying type if the expression is complex
#1393-D (MISRA-C:2004 10.1/R) The value of an expression of integer type shall not be implicitly converted to a different underlying type if the expression is complex
#1393-D (MISRA-C:2004 10.1/R) The value of an expression of integer type shall not be implicitly converted to a different underlying type if the expression is complex
#1487-D (MISRA-C:2004 12.2/R) The value of an expression shall be the same under any order of evaluation that the standard permits
#1393-D (MISRA-C:2004 10.1/R) The value of an expression of integer type shall not be implicitly converted to a different underlying type if it is not a conversion to a wider integer type of the same signedness
#1393-D (MISRA-C:2004 10.1/R) The value of an expression of integer type shall not be implicitly converted to a different underlying type if it is not a conversion to a wider integer type of the same signedness
#1393-D (MISRA-C:2004 10.1/R) The value of an expression of integer type shall not be implicitly converted to a different underlying type if it is not a conversion to a wider integer type of the same signedness
#1393-D (MISRA-C:2004 10.1/R) The value of an expression of integer type shall not be implicitly converted to a different underlying type if it is not a conversion to a wider integer type of the same signedness
#1393-D (MISRA-C:2004 10.1/R) The value of an expression of integer type shall not be implicitly converted to a different underlying type if it is not a conversion to a wider integer type of the same signedness

Our questions:

1) Why above codes get passed on C28x (right) but get many warnings on CLA (left)?

2) Is there any special restrictions with CLA when we try to implement MISRA-C 2004 checking?

Do you have any comment?

Wayne Huang