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