From eb7c388bc7ce19fffb8b4b440cee0173297e8490 Mon Sep 17 00:00:00 2001 From: Argyrios Kyrtzidis Date: Tue, 9 Sep 2008 21:32:02 +0000 Subject: [PATCH] Add a LangOptions member to IdentifierResolver. Make Sema pass the LangOptions to IdentifierResolver's constructor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56015 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Sema/IdentifierResolver.cpp | 4 +++- lib/Sema/IdentifierResolver.h | 4 +++- lib/Sema/Sema.cpp | 3 ++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/Sema/IdentifierResolver.cpp b/lib/Sema/IdentifierResolver.cpp index 79432954e5..8c0c4d6932 100644 --- a/lib/Sema/IdentifierResolver.cpp +++ b/lib/Sema/IdentifierResolver.cpp @@ -134,7 +134,9 @@ void IdentifierResolver::IdDeclInfo::RemoveDecl(NamedDecl *D) { // IdentifierResolver Implementation //===----------------------------------------------------------------------===// -IdentifierResolver::IdentifierResolver() : IdDeclInfos(new IdDeclInfoMap) {} +IdentifierResolver::IdentifierResolver(const LangOptions &langOpt) + : LangOpt(langOpt), IdDeclInfos(new IdDeclInfoMap) { +} IdentifierResolver::~IdentifierResolver() { delete IdDeclInfos; } diff --git a/lib/Sema/IdentifierResolver.h b/lib/Sema/IdentifierResolver.h index 4d2f0dd5ca..82c4f06196 100644 --- a/lib/Sema/IdentifierResolver.h +++ b/lib/Sema/IdentifierResolver.h @@ -221,10 +221,12 @@ public: /// The decl must already be part of the decl chain. void RemoveDecl(NamedDecl *D); - IdentifierResolver(); + explicit IdentifierResolver(const LangOptions &LangOpt); ~IdentifierResolver(); private: + const LangOptions &LangOpt; + class IdDeclInfoMap; IdDeclInfoMap *IdDeclInfos; diff --git a/lib/Sema/Sema.cpp b/lib/Sema/Sema.cpp index 2b8127b153..f43264d133 100644 --- a/lib/Sema/Sema.cpp +++ b/lib/Sema/Sema.cpp @@ -81,7 +81,8 @@ void Sema::ActOnTranslationUnitScope(SourceLocation Loc, Scope *S) { } Sema::Sema(Preprocessor &pp, ASTContext &ctxt, ASTConsumer &consumer) - : PP(pp), Context(ctxt), Consumer(consumer), CurContext(0), CurBlock(0) { + : PP(pp), Context(ctxt), Consumer(consumer), CurContext(0), CurBlock(0), + IdResolver(pp.getLangOptions()) { // Get IdentifierInfo objects for known functions for which we // do extra checking. -- 2.40.0