Misra: Add rule 4.3

This commit is contained in:
Daniel Marjamäki 2017-04-15 14:10:00 +02:00
parent f90d8c9987
commit eb11667c22
2 changed files with 13 additions and 0 deletions

View File

@ -10,6 +10,11 @@
typedef unsigned char u8;
void misra_4_3() {
dostuff();
asm("abc"); // 4.3
}
void misra_5_1() {
int a123456789012345678901234567890; // no-warning
int a1234567890123456789012345678901; // 5.1

View File

@ -235,6 +235,13 @@ def findInclude(rawTokens, header):
return headerToken
return None
def misra_4_3(data):
for token in data.tokenlist:
if not simpleMatch(token, 'asm ('):
continue
if token.scope.type != 'Function' or (not token.previous) or token.previous.str != '{' or (not simpleMatch(token.next.link, ') ; }')):
reportError(token, 4, 3)
def misra_5_1(data):
for token in data.tokenlist:
if token.isName and len(token.str) > 31:
@ -716,6 +723,7 @@ for arg in sys.argv[1:]:
if len(data.configurations) > 1:
print('Checking ' + arg + ', config "' + cfg.name + '"...')
misra_4_3(cfg)
misra_5_1(cfg)
if cfgNumber == 1:
misra_7_1(data.rawTokens)