From df5d9f99fbff91c4bea44264db1a3e4f56848ac1 Mon Sep 17 00:00:00 2001 From: Przemyslaw Gorszkowski Date: Mon, 31 Mar 2014 13:10:06 +0200 Subject: C++: fix findusage for member of typedefed anonymous struct Task-number: QTCREATORBUG-11859 Task-number: QTCREATORBUG-11860 Change-Id: I7484b3b88daefbb3c76bb86a9b573e8291072872 Reviewed-by: Orgad Shaneh Reviewed-by: Nikolai Kosjar (cherry picked from commit 5416557a0b9247e911180a7cce4a5ed3b0c0f351) Reviewed-by: Przemyslaw Gorszkowski Reviewed-by: Eike Ziller --- src/libs/cplusplus/LookupContext.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/libs/cplusplus/LookupContext.cpp') diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp index a1a2eeb822..05f5900edc 100644 --- a/src/libs/cplusplus/LookupContext.cpp +++ b/src/libs/cplusplus/LookupContext.cpp @@ -686,7 +686,7 @@ void ClassOrNamespace::lookup_helper(const Name *name, ClassOrNamespace *binding for (; cit != citEnd; ++cit) { const AnonymousNameId *anonymousNameId = cit.key(); ClassOrNamespace *a = cit.value(); - if (!binding->_declaredAnonymouses.contains(anonymousNameId)) + if (!binding->_declaredOrTypedefedAnonymouses.contains(anonymousNameId)) lookup_helper(name, a, result, processed, binding->_templateId); } } @@ -1591,10 +1591,11 @@ bool CreateBindings::visit(Declaration *decl) } } } - } else if (Class *clazz = decl->type()->asClassType()) { + } + if (Class *clazz = decl->type()->asClassType()) { if (const Name *name = clazz->name()) { if (const AnonymousNameId *anonymousNameId = name->asAnonymousNameId()) - _currentClassOrNamespace->_declaredAnonymouses.insert(anonymousNameId); + _currentClassOrNamespace->_declaredOrTypedefedAnonymouses.insert(anonymousNameId); } } return false; -- cgit v1.2.1