compared to the rest of the code in Sema::GetStdNamespace(),
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
diff --git a/lib/Sema/Sema.cpp b/lib/Sema/Sema.cpp
index 2b33bf4..e1eb86c 100644
--- a/lib/Sema/Sema.cpp
+++ b/lib/Sema/Sema.cpp
@@ -103,7 +103,6 @@
   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;
 
diff --git a/lib/Sema/Sema.h b/lib/Sema/Sema.h
index ab46524..7840dec 100644
--- a/lib/Sema/Sema.h
+++ b/lib/Sema/Sema.h
@@ -193,7 +193,6 @@
   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
diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp
index e7a9c0e..aa2154f 100644
--- a/lib/Sema/SemaDecl.cpp
+++ b/lib/Sema/SemaDecl.cpp
@@ -278,8 +278,9 @@
 /// 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);
   }