From 213316f2a7feb2bb62fb281a975d2b0d1d03b08b Mon Sep 17 00:00:00 2001 From: Roberto Raggi <roberto.raggi@nokia.com> Date: Tue, 27 Oct 2009 16:08:23 +0100 Subject: [PATCH] Handle ambiguous function declarations vs c++-like initialized declarations. --- src/libs/cplusplus/ResolveExpression.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/libs/cplusplus/ResolveExpression.cpp b/src/libs/cplusplus/ResolveExpression.cpp index 43694659a5d..2ae4f84da1c 100644 --- a/src/libs/cplusplus/ResolveExpression.cpp +++ b/src/libs/cplusplus/ResolveExpression.cpp @@ -566,6 +566,11 @@ ResolveExpression::resolveBaseExpression(const QList<Result> &baseResults, int a FullySpecifiedType ty = result.first.simplified(); Symbol *lastVisibleSymbol = result.second; + if (Function *funTy = ty->asFunctionType()) { + if (funTy->isAmbiguous()) + ty = funTy->returnType().simplified(); + } + if (accessOp == T_ARROW) { if (lastVisibleSymbol && ty->isClassType() && ! lastVisibleSymbol->isClass()) { // ### remove ! lastVisibleSymbol->isClass() from the condition. -- GitLab