diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-02-05 04:39:02 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-02-05 04:39:02 +0000 |
commit | a4e8c2a65a985782344a818d356c40d117fc4f12 (patch) | |
tree | 929cb1673261816f2f3ad2fd073d45d7286acaeb /lib/Sema/SemaCXXScopeSpec.cpp | |
parent | 576bb92057979b14ca04b3080a9405662d0217a3 (diff) |
When determining whether a scope specifier is complete, consider a
dependent DeclContext to be "complete". Fixes PR6236.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95359 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaCXXScopeSpec.cpp')
-rw-r--r-- | lib/Sema/SemaCXXScopeSpec.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Sema/SemaCXXScopeSpec.cpp b/lib/Sema/SemaCXXScopeSpec.cpp index 7a0b625206..52e9e9bc87 100644 --- a/lib/Sema/SemaCXXScopeSpec.cpp +++ b/lib/Sema/SemaCXXScopeSpec.cpp @@ -241,6 +241,10 @@ bool Sema::RequireCompleteDeclContext(const CXXScopeSpec &SS) { DeclContext *DC = computeDeclContext(SS, true); if (TagDecl *Tag = dyn_cast<TagDecl>(DC)) { + // If this is a dependent type, then we consider it complete. + if (Tag->isDependentContext()) + return false; + // If we're currently defining this type, then lookup into the // type is okay: don't complain that it isn't complete yet. const TagType *TagT = Context.getTypeDeclType(Tag)->getAs<TagType>(); |