MCPcopy Create free account
hub / github.com/cppcheck-opensource/cppcheck / misra_12_4

Method misra_12_4

addons/misra.py:2969–2988  ·  view source on GitHub ↗
(self, cfg)

Source from the content-addressed store, hash-verified

2967 elif expr.str == '*' and op1 * op2 > max_value:
2968 self.reportError(expr, 12, 4)
2969 def misra_12_4(self, cfg):
2970 if not cfg.tokenlist:
2971 return
2972 expr = cfg.tokenlist[0]
2973 while expr.next:
2974 expr = expr.next
2975 if expr.str == "?" and expr.astOperand2.str == ":":
2976 known_value = expr.astOperand1.getKnownIntValue()
2977 if known_value == 1:
2978 tok = expr
2979 while tok != expr.astOperand2:
2980 self.misra_12_4_check_expr(tok)
2981 tok = tok.next
2982 expr = tok
2983 while expr.str not in (";", "{", "}"):
2984 expr = expr.next
2985 continue
2986 if known_value == 0:
2987 expr = expr.astOperand2
2988 self.misra_12_4_check_expr(expr)
2989
2990
2991 def misra_13_1(self, data):

Callers

nothing calls this directly

Calls 2

misra_12_4_check_exprMethod · 0.95
getKnownIntValueMethod · 0.80

Tested by

no test coverage detected