diff options
author | Przemyslaw Gorszkowski <pgorszkowski@gmail.com> | 2014-03-31 13:10:06 +0200 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2014-04-04 12:07:06 +0200 |
commit | df5d9f99fbff91c4bea44264db1a3e4f56848ac1 (patch) | |
tree | a9c4162cb824b73dc87c3b59f2779eb67cf395c4 /src/libs/cplusplus/LookupContext.cpp | |
parent | b455518c383495d4e2c377978b7193816f362a0f (diff) | |
download | qt-creator-df5d9f99fbff91c4bea44264db1a3e4f56848ac1.tar.gz |
C++: fix findusage for member of typedefed anonymous struct
Task-number: QTCREATORBUG-11859
Task-number: QTCREATORBUG-11860
Change-Id: I7484b3b88daefbb3c76bb86a9b573e8291072872
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
(cherry picked from commit 5416557a0b9247e911180a7cce4a5ed3b0c0f351)
Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Diffstat (limited to 'src/libs/cplusplus/LookupContext.cpp')
-rw-r--r-- | src/libs/cplusplus/LookupContext.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
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; |