From 3bbcede43b4a15227db6bde625adfbc2816a0cfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Fri, 1 Sep 2017 22:15:09 +0200 Subject: [PATCH] Fixed #8193 (crash: A = -(-0.2) / (1.0 + B * B) ( daca, lammps)) --- lib/astutils.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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)))