Make sure that ScopedDecls passed to DeclContext::addDecl are added into their lexical context
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61998 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/DeclBase.cpp b/lib/AST/DeclBase.cpp
index f1ce3f3..d9765ac 100644
--- a/lib/AST/DeclBase.cpp
+++ b/lib/AST/DeclBase.cpp
@@ -514,6 +514,7 @@
}
void DeclContext::addDecl(ASTContext &Context, ScopedDecl *D, bool AllowLookup) {
+ assert(D->getLexicalDeclContext() == this && "Decl inserted into wrong lexical context");
Decls.push_back(D);
if (AllowLookup)
D->getDeclContext()->insert(Context, D);
@@ -599,7 +600,6 @@
if (LookupPtr.getPointer())
insertImpl(D);
-
// If we are a transparent context, insert into our parent context,
// too. This operation is recursive.
if (isTransparentContext())