diff --git a/addons/misra.py b/addons/misra.py index 803d1d5d2..932aeb9fd 100755 --- a/addons/misra.py +++ b/addons/misra.py @@ -124,7 +124,7 @@ def getEssentialTypeCategory(expr): return e1 if expr.valueType: return expr.valueType.sign - if expr.valueType and expr.valueType.typeScope: + if expr.valueType and expr.valueType.typeScope and expr.valueType.typeScope.className: return "enum<" + expr.valueType.typeScope.className + ">" if expr.variable: typeToken = expr.variable.typeStartToken diff --git a/addons/test/misra/misra-test.cpp b/addons/test/misra/misra-test.cpp index d3631653f..cfa1d3289 100644 --- a/addons/test/misra/misra-test.cpp +++ b/addons/test/misra/misra-test.cpp @@ -10,6 +10,14 @@ class misra_21_1_C { misra_21_1_C operator=(const misra_21_1_C &); }; +class C2 { +public: + C2(); +private: + void* f; +}; +C2::C2() : f(NULL) {} + static bool test_misra_21_1_crash() { auto misra_21_1_C a, b;