Fixed #10482 (FP: misra-c2012-12.2)
This commit is contained in:
parent
b6abe9c5fe
commit
a6c98e9e60
|
@ -146,6 +146,7 @@ jobs:
|
|||
./cppcheck --addon=misra --inline-suppr --enable=information --error-exitcode=1 addons/test/misra/misra-ctu-*-test.c
|
||||
cd addons/test
|
||||
../../cppcheck --dump -DDUMMY --suppress=uninitvar --inline-suppr misra/misra-test.c --std=c89 --platform=unix64 && python3 ../misra.py -verify misra/misra-test.c.dump
|
||||
../../cppcheck --addon=misra --platform=avr8 --error-exitcode=1 misra/misra-test-avr8.c
|
||||
|
||||
- name: Build GUI on ubuntu
|
||||
if: contains(matrix.os, 'ubuntu')
|
||||
|
|
|
@ -568,19 +568,19 @@ def getEssentialType(expr):
|
|||
def bitsOfEssentialType(ty):
|
||||
if ty is None:
|
||||
return 0
|
||||
ty = ty.split(' ')[-1]
|
||||
if ty == 'Boolean':
|
||||
last_type = ty.split(' ')[-1]
|
||||
if last_type == 'Boolean':
|
||||
return 1
|
||||
if ty == 'char':
|
||||
if last_type == 'char':
|
||||
return typeBits['CHAR']
|
||||
if ty == 'short':
|
||||
if last_type == 'short':
|
||||
return typeBits['SHORT']
|
||||
if ty == 'int':
|
||||
if last_type == 'int':
|
||||
return typeBits['INT']
|
||||
if ty == 'long':
|
||||
return typeBits['LONG']
|
||||
if ty == 'long long':
|
||||
if ty.endswith('long long'):
|
||||
return typeBits['LONG_LONG']
|
||||
if last_type == 'long':
|
||||
return typeBits['LONG']
|
||||
for sty in STDINT_TYPES:
|
||||
if ty == sty:
|
||||
return int(''.join(filter(str.isdigit, sty)))
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
// To test:
|
||||
// ~/cppcheck/cppcheck --addon=misra --platform=avr8 misra-test-avr8.c
|
||||
|
||||
static void misra_12_2(void) {
|
||||
a = (((uint64_t)0xFF) << 32);
|
||||
}
|
||||
|
Loading…
Reference in New Issue