From: Chris Lattner Date: Thu, 20 Nov 2008 05:45:14 +0000 (+0000) Subject: compared to the rest of the code in Sema::GetStdNamespace(), X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8edea83d4d45d912191eac97b861309af6c74acd;p=clang 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 2b33bf4046..e1eb86c98f 100644 --- a/lib/Sema/Sema.cpp +++ b/lib/Sema/Sema.cpp @@ -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; diff --git a/lib/Sema/Sema.h b/lib/Sema/Sema.h index ab465247c8..7840dec5e7 100644 --- a/lib/Sema/Sema.h +++ b/lib/Sema/Sema.h @@ -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 diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp index e7a9c0ee72..aa2154f0c6 100644 --- a/lib/Sema/SemaDecl.cpp +++ b/lib/Sema/SemaDecl.cpp @@ -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(Std); }