]> granicus.if.org Git - clang/commitdiff
Add a LangOptions member to IdentifierResolver.
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Tue, 9 Sep 2008 21:32:02 +0000 (21:32 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Tue, 9 Sep 2008 21:32:02 +0000 (21:32 +0000)
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
lib/Sema/IdentifierResolver.h
lib/Sema/Sema.cpp

index 79432954e5e5c3a6b45c0546b3b4af09a7fe2c6a..8c0c4d693268660c1f9b6f1527da3ae23de1b632 100644 (file)
@@ -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;
 }
index 4d2f0dd5caf5e486ae430d19409da5e53564e7f3..82c4f06196aa534ad70da58b834ad3e65c58d0a8 100644 (file)
@@ -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;
 
index 2b8127b153babee93c9c9cdd483b1e8ebdab9b11..f43264d133da60cca6d3a71a91a71d87b71104dd 100644 (file)
@@ -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.