[Modules] Delete stale, pointless code. All tests still pass with this

logic removed.

This logic was both inserting all builtins into the identifier table and
ensuring they would get serialized. The first happens unconditionally
now, and we always write out the entire identifier table. This code can
simply go away.

llvm-svn: 233331
This commit is contained in:
Chandler Carruth 2015-03-26 23:45:40 +00:00
parent 2a20e27057
commit 7bcfdd516c
1 changed files with 0 additions and 15 deletions

View File

@ -4335,21 +4335,6 @@ void ASTWriter::WriteASTCore(Sema &SemaRef,
if (Context.ExternCContext)
DeclIDs[Context.ExternCContext] = PREDEF_DECL_EXTERN_C_CONTEXT_ID;
if (!Chain) {
// Make sure that we emit IdentifierInfos (and any attached
// declarations) for builtins. We don't need to do this when we're
// emitting chained PCH files, because all of the builtins will be
// in the original PCH file.
// FIXME: Modules won't like this at all.
IdentifierTable &Table = PP.getIdentifierTable();
SmallVector<const char *, 32> BuiltinNames;
if (!Context.getLangOpts().NoBuiltin) {
Context.BuiltinInfo.GetBuiltinNames(BuiltinNames);
}
for (unsigned I = 0, N = BuiltinNames.size(); I != N; ++I)
getIdentifierRef(&Table.get(BuiltinNames[I]));
}
// Build a record containing all of the tentative definitions in this file, in
// TentativeDefinitions order. Generally, this record will be empty for
// headers.