diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-11-15 18:57:27 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-11-15 18:57:27 +0000 |
commit | 992d91742129c1f77563df0b3d0a40b36fd13e3e (patch) | |
tree | 8d8a6dbb65d89dc696a8552f2a1052d2117b32c5 /lib/Serialization/ASTWriter.cpp | |
parent | 958bcaf3d4e0c1ae46de3e84e7c2a7638c3c5286 (diff) |
[modules] Use a memory buffer directly as input for the module includes,
instead of messing with virtual files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168062 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Serialization/ASTWriter.cpp')
-rw-r--r-- | lib/Serialization/ASTWriter.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Serialization/ASTWriter.cpp b/lib/Serialization/ASTWriter.cpp index f06b428019..744ae9fd81 100644 --- a/lib/Serialization/ASTWriter.cpp +++ b/lib/Serialization/ASTWriter.cpp @@ -777,6 +777,7 @@ void ASTWriter::WriteBlockInfoBlock() { RECORD(TARGET_OPTIONS); RECORD(ORIGINAL_FILE); RECORD(ORIGINAL_PCH_DIR); + RECORD(ORIGINAL_FILE_ID); RECORD(INPUT_FILE_OFFSETS); RECORD(DIAGNOSTIC_OPTIONS); RECORD(FILE_SYSTEM_OPTIONS); @@ -1180,6 +1181,10 @@ void ASTWriter::WriteControlBlock(Preprocessor &PP, ASTContext &Context, Stream.EmitRecordWithBlob(FileAbbrevCode, Record, MainFileNameStr); } + Record.clear(); + Record.push_back(SM.getMainFileID().getOpaqueValue()); + Stream.EmitRecord(ORIGINAL_FILE_ID, Record); + // Original PCH directory if (!OutputFile.empty() && OutputFile != "-") { BitCodeAbbrev *Abbrev = new BitCodeAbbrev(); |