]> granicus.if.org Git - clang/commitdiff
compared to the rest of the code in Sema::GetStdNamespace(),
authorChris Lattner <sabre@nondot.org>
Thu, 20 Nov 2008 05:45:14 +0000 (05:45 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 20 Nov 2008 05:45:14 +0000 (05:45 +0000)
looking up the "std" identifier is trivial.  Just do it, particularly
since this is only done if the namespace hasn't already been looked up.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59710 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/Sema.cpp
lib/Sema/Sema.h
lib/Sema/SemaDecl.cpp

index 2b33bf4046fc81a4e666863d560f1b557f3a05dc..e1eb86c98facf181e40588b9b1d76535f4cf50bd 100644 (file)
@@ -103,7 +103,6 @@ Sema::Sema(Preprocessor &pp, ASTContext &ctxt, ASTConsumer &consumer)
   KnownFunctionIDs[id_vsnprintf_chk] = &IT.get("__builtin___vsnprintf_chk");
   KnownFunctionIDs[id_vprintf]       = &IT.get("vprintf");
 
-  Ident_StdNs = &IT.get("std");
   Ident_TypeInfo = 0;
   StdNamespace = 0;
 
index ab465247c89406cbc53009597d5fe3deab5b7fcb..7840dec5e7c8d84689dcef81c8447eae878250d4 100644 (file)
@@ -193,7 +193,6 @@ public:
   IdentifierInfo* KnownFunctionIDs[id_num_known_functions];
 
   /// Identifiers used by the C++ language
-  IdentifierInfo *Ident_StdNs; // "std"
   IdentifierInfo *Ident_TypeInfo; // "type_info" - lazily created
 
   /// Translation Unit Scope - useful to Objective-C actions that need
index e7a9c0ee728a2892d891bc8d287b2c5f30007ef0..aa2154f0c65d99379ac78034febe5005fe5cea5b 100644 (file)
@@ -278,8 +278,9 @@ ScopedDecl *Sema::LazilyCreateBuiltin(IdentifierInfo *II, unsigned bid,
 /// everything from the standard library is defined.
 NamespaceDecl *Sema::GetStdNamespace() {
   if (!StdNamespace) {
+    IdentifierInfo *StdIdent = &PP.getIdentifierTable().get("std");
     DeclContext *Global = Context.getTranslationUnitDecl();
-    Decl *Std = LookupDecl(Ident_StdNs, Decl::IDNS_Tag | Decl::IDNS_Ordinary,
+    Decl *Std = LookupDecl(StdIdent, Decl::IDNS_Tag | Decl::IDNS_Ordinary,
                            0, Global, /*enableLazyBuiltinCreation=*/false);
     StdNamespace = dyn_cast_or_null<NamespaceDecl>(Std);
   }