diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-05-27 17:30:49 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-05-27 17:30:49 +0000 |
commit | d0c873799614d32c9c11280878ac1a856f92f707 (patch) | |
tree | cdda09b65919606656f26bdc122b3f61dcc2eb45 /lib/Sema/SemaDecl.cpp | |
parent | 8dbc3c64965f99e48830885835b7d2fc26ec3cf5 (diff) |
Add some more tests for instantiation of declaration references. Also,
improve some error recovery with explicit template instantiation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72484 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaDecl.cpp')
-rw-r--r-- | lib/Sema/SemaDecl.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp index 5e09851770..d592cf6178 100644 --- a/lib/Sema/SemaDecl.cpp +++ b/lib/Sema/SemaDecl.cpp @@ -3358,6 +3358,7 @@ Sema::DeclPtrTy Sema::ActOnTag(Scope *S, unsigned TagSpec, TagKind TK, if (PrevDecl == 0) { Diag(NameLoc, diag::err_not_tag_in_scope) << Name << SS.getRange(); Name = 0; + Invalid = true; goto CreateNewDecl; } } else if (Name) { @@ -3629,7 +3630,8 @@ CreateNewDecl: New->setLexicalDeclContext(CurContext); // Set the access specifier. - SetMemberAccessSpecifier(New, PrevDecl, AS); + if (!Invalid) + SetMemberAccessSpecifier(New, PrevDecl, AS); if (TK == TK_Definition) New->startDefinition(); |