It sounds like you are using the MISRA-C: 2012 controller. The main type and compound expression are terms from MISRA-C, not from the C standard.
To understand anything from this warning at all, you need to examine the meaning of the main type (MISRA-C: 2012 8.10) and the compound expression (MISRA-C: 2012 8.10.3).
As for the reason for the warning, this rule 10.6:
.
, , , , , .
:
uint16_t a = 40000;
uint16_t b = 40000;
uint32_t result = a + b;
16- a
b
, 16- - ( ).
, , C, , uint32_t
, . , - a + b
--. , , , =
, +
.
-, MISRA-C , , .
, :
result = (uint32_t)1U << resolution;