diff --git a/lib/astutils.cpp b/lib/astutils.cpp index 20e0529f4..608374731 100644 --- a/lib/astutils.cpp +++ b/lib/astutils.cpp @@ -221,7 +221,7 @@ bool isSameExpression(bool cpp, bool macro, const Token *tok1, const Token *tok2 return true; // in c++, a+b might be different to b+a, depending on the type of a and b - if (cpp && tok1->str() == "+") { + if (cpp && tok1->str() == "+" && tok1->astOperand2()) { const ValueType* vt1 = tok1->astOperand1()->valueType(); const ValueType* vt2 = tok1->astOperand2()->valueType(); if (!(vt1 && (vt1->type >= ValueType::VOID || vt1->pointer) && vt2 && (vt2->type >= ValueType::VOID || vt2->pointer)))