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.

c6000 cl6x 7.6.0: MISRA warning 10.1 talks about integer size conflict where only the very same size derived type is used

this might again be a problem of the checker's internal decision logic.

invocation:

C:\SW_TOOLS-trunk\compilers\c6000_7_6_0\bin\cl6x.exe file.c --check_misra=required,advisory,-1.1,-6.3,-8.1
"file.c", line 20: warning: (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 not constant and is a function argument

file.c:

extern void a(void);

typedef signed int si_t;

static void c(si_t pc)
{
    pc = 0;
    (void)(pc);
}

static void b(si_t * pb)
{
    *pb = 0;
}

void a(void)
{
    si_t value = 0;

    b(&value);
    c(value);
}

  • Thank you for submitting a test case.  I can reproduce that diagnostic.  I filed SDSCM00050007 in the SDOWP system to have this investigated.  Feel free to follow it with the SDOWP link below in my signature.

    Thanks and regards,

    -George