summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/include/clang/Serialization/ASTWriter.h3
-rw-r--r--clang/include/clang/Serialization/ModuleFileExtension.h8
-rw-r--r--clang/lib/Frontend/TestModuleFileExtension.cpp1
-rw-r--r--clang/lib/Frontend/TestModuleFileExtension.h3
-rw-r--r--clang/lib/Serialization/ASTWriter.cpp7
5 files changed, 14 insertions, 8 deletions
diff --git a/clang/include/clang/Serialization/ASTWriter.h b/clang/include/clang/Serialization/ASTWriter.h
index 86dbceef4c4..ed345472fc7 100644
--- a/clang/include/clang/Serialization/ASTWriter.h
+++ b/clang/include/clang/Serialization/ASTWriter.h
@@ -551,7 +551,8 @@ private:
void WriteObjCCategories();
void WriteLateParsedTemplates(Sema &SemaRef);
void WriteOptimizePragmaOptions(Sema &SemaRef);
- void WriteModuleFileExtension(ModuleFileExtensionWriter &Writer);
+ void WriteModuleFileExtension(Sema &SemaRef,
+ ModuleFileExtensionWriter &Writer);
unsigned DeclParmVarAbbrev;
unsigned DeclContextLexicalAbbrev;
diff --git a/clang/include/clang/Serialization/ModuleFileExtension.h b/clang/include/clang/Serialization/ModuleFileExtension.h
index a8f8386e649..ba2e2fd0d9f 100644
--- a/clang/include/clang/Serialization/ModuleFileExtension.h
+++ b/clang/include/clang/Serialization/ModuleFileExtension.h
@@ -25,7 +25,8 @@ namespace clang {
class ASTReader;
class ASTWriter;
-
+class Sema;
+
namespace serialization {
class ModuleFile;
} // end namespace serialization
@@ -79,7 +80,7 @@ public:
/// The default implementation of this function simply returns the
/// hash code as given, so the presence/absence of this extension
/// does not distinguish module files.
- virtual llvm::hash_code hashExtension(llvm::hash_code Code) const;
+ virtual llvm::hash_code hashExtension(llvm::hash_code c) const;
/// Create a new module file extension writer, which will be
/// responsible for writing the extension contents into a particular
@@ -120,7 +121,8 @@ public:
/// Responsible for writing the contents of the extension into the
/// given stream. All of the contents should be written into custom
/// records with IDs >= FIRST_EXTENSION_RECORD_ID.
- virtual void writeExtensionContents(llvm::BitstreamWriter &Stream) = 0;
+ virtual void writeExtensionContents(Sema &SemaRef,
+ llvm::BitstreamWriter &Stream) = 0;
};
/// Abstract base class that reads a module file extension block from
diff --git a/clang/lib/Frontend/TestModuleFileExtension.cpp b/clang/lib/Frontend/TestModuleFileExtension.cpp
index c020468ce0f..d1b20c4a80b 100644
--- a/clang/lib/Frontend/TestModuleFileExtension.cpp
+++ b/clang/lib/Frontend/TestModuleFileExtension.cpp
@@ -19,6 +19,7 @@ using namespace clang::serialization;
TestModuleFileExtension::Writer::~Writer() { }
void TestModuleFileExtension::Writer::writeExtensionContents(
+ Sema &SemaRef,
llvm::BitstreamWriter &Stream) {
using namespace llvm;
diff --git a/clang/lib/Frontend/TestModuleFileExtension.h b/clang/lib/Frontend/TestModuleFileExtension.h
index 2a7245463cf..41f3ca9f05f 100644
--- a/clang/lib/Frontend/TestModuleFileExtension.h
+++ b/clang/lib/Frontend/TestModuleFileExtension.h
@@ -30,7 +30,8 @@ class TestModuleFileExtension : public ModuleFileExtension {
Writer(ModuleFileExtension *Ext) : ModuleFileExtensionWriter(Ext) { }
~Writer() override;
- void writeExtensionContents(llvm::BitstreamWriter &Stream) override;
+ void writeExtensionContents(Sema &SemaRef,
+ llvm::BitstreamWriter &Stream) override;
};
class Reader : public ModuleFileExtensionReader {
diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp
index 7d3cefed741..128935c5c73 100644
--- a/clang/lib/Serialization/ASTWriter.cpp
+++ b/clang/lib/Serialization/ASTWriter.cpp
@@ -3880,7 +3880,8 @@ void ASTWriter::WriteOptimizePragmaOptions(Sema &SemaRef) {
Stream.EmitRecord(OPTIMIZE_PRAGMA_OPTIONS, Record);
}
-void ASTWriter::WriteModuleFileExtension(ModuleFileExtensionWriter &Writer) {
+void ASTWriter::WriteModuleFileExtension(Sema &SemaRef,
+ ModuleFileExtensionWriter &Writer) {
// Enter the extension block.
Stream.EnterSubblock(EXTENSION_BLOCK_ID, 4);
@@ -3908,7 +3909,7 @@ void ASTWriter::WriteModuleFileExtension(ModuleFileExtensionWriter &Writer) {
Stream.EmitRecordWithBlob(Abbrev, Record, Buffer);
// Emit the contents of the extension block.
- Writer.writeExtensionContents(Stream);
+ Writer.writeExtensionContents(SemaRef, Stream);
// Exit the extension block.
Stream.ExitBlock();
@@ -4563,7 +4564,7 @@ uint64_t ASTWriter::WriteASTCore(Sema &SemaRef, StringRef isysroot,
// Write the module file extension blocks.
for (const auto &ExtWriter : ModuleFileExtensionWriters)
- WriteModuleFileExtension(*ExtWriter);
+ WriteModuleFileExtension(SemaRef, *ExtWriter);
return Signature;
}
OpenPOWER on IntegriCloud