]> granicus.if.org Git - clang/commitdiff
[Modules] Delete stale, pointless code. All tests still pass with this
authorChandler Carruth <chandlerc@gmail.com>
Thu, 26 Mar 2015 23:45:40 +0000 (23:45 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Thu, 26 Mar 2015 23:45:40 +0000 (23:45 +0000)
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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@233331 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Serialization/ASTWriter.cpp

index 24ba783c4eff372ed535369b5ffa78aae59913f8..3f2c46d80efe81a62050f729c9347cae8da425e6 100644 (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.