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.

llvm-svn: 59710
This commit is contained in:
Chris Lattner 2008-11-20 05:45:14 +00:00
parent 66e32812cd
commit 0e73b2c352
3 changed files with 2 additions and 3 deletions

View 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;

View 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

View 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);
}