From 45448ce5d51c9b33d2e02c24d9bd3b52526caf16 Mon Sep 17 00:00:00 2001
From: Roberto Raggi <roberto.raggi@nokia.com>
Date: Mon, 6 Jul 2009 17:29:57 +0200
Subject: [PATCH] Don't search for undefined types in ambiguous sizeof
 expressions.

---
 src/plugins/cpptools/cppmodelmanager.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index 53f14985862..0dad0252894 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -573,6 +573,14 @@ protected:
                     // sizeof (a)
                     //   `a' can be a typeid or a nested-expression.
                     return false;
+                } else if (type_id->declarator
+                           &&   type_id->declarator->postfix_declarators
+                           && ! type_id->declarator->postfix_declarators->next
+                           &&   type_id->declarator->postfix_declarators->asArrayDeclarator() != 0) {
+                    // this sizeof expression is ambiguos, e.g.
+                    // sizeof(a[10])
+                    //   `a' can be a typeid or an expression.
+                    return false;
                 }
             }
         }
-- 
GitLab