forked from OSchip/llvm-project
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:
parent
66e32812cd
commit
0e73b2c352
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue