diff --git a/src/libs/cplusplus/ResolveExpression.cpp b/src/libs/cplusplus/ResolveExpression.cpp index 08ea8229c90..633edae47d7 100644 --- a/src/libs/cplusplus/ResolveExpression.cpp +++ b/src/libs/cplusplus/ResolveExpression.cpp @@ -906,6 +906,8 @@ ClassOrNamespace *ResolveExpression::baseExpression(const QList &bas TypedefsResolver typedefsResolver(_context); foreach (const LookupItem &r, baseResults) { + if (!r.type().type()) + continue; FullySpecifiedType ty = r.type().simplified(); FullySpecifiedType originalType = ty; Scope *scope = r.scope(); diff --git a/src/plugins/cpptools/cppchecksymbols.cpp b/src/plugins/cpptools/cppchecksymbols.cpp index bc807c7f6ca..6a2b1974591 100644 --- a/src/plugins/cpptools/cppchecksymbols.cpp +++ b/src/plugins/cpptools/cppchecksymbols.cpp @@ -1211,7 +1211,7 @@ bool CheckSymbols::maybeAddField(const QList &candidates, NameAST *a return false; else if (! (c->enclosingScope() && c->enclosingScope()->isClass())) return false; // shadowed - else if (c->isTypedef() || c->type()->isFunctionType()) + else if (c->isTypedef() || (c->type() && c->type()->isFunctionType())) return false; // shadowed unsigned line, column;