diff options
author | Mehdi Amini <mehdi.amini@apple.com> | 2015-09-09 20:35:37 +0000 |
---|---|---|
committer | Mehdi Amini <mehdi.amini@apple.com> | 2015-09-09 20:35:37 +0000 |
commit | 5ae4a85e3f7011e9ed89640977ac358847aa616a (patch) | |
tree | b0fe1adbf49eb8ec04b814495fca4bd7ef5223ea /clang/lib/Frontend/SerializedDiagnosticPrinter.cpp | |
parent | c9a85abc6cde98dae0f81e69c7d49d5f71caa572 (diff) | |
download | bcm5719-llvm-5ae4a85e3f7011e9ed89640977ac358847aa616a.tar.gz bcm5719-llvm-5ae4a85e3f7011e9ed89640977ac358847aa616a.zip |
Revert "EmitRecordWith* API change: takes an ArrayRef instead of a SmallVector (NFC)"
This reverts commit r247179.
From: Mehdi Amini <mehdi.amini@apple.com>
llvm-svn: 247183
Diffstat (limited to 'clang/lib/Frontend/SerializedDiagnosticPrinter.cpp')
-rw-r--r-- | clang/lib/Frontend/SerializedDiagnosticPrinter.cpp | 77 |
1 files changed, 55 insertions, 22 deletions
diff --git a/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp b/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp index c459180923a..f63f9ef44ca 100644 --- a/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp +++ b/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp @@ -51,7 +51,6 @@ public: typedef SmallVector<uint64_t, 64> RecordData; typedef SmallVectorImpl<uint64_t> RecordDataImpl; -typedef ArrayRef<uint64_t> RecordDataRef; class SDiagsWriter; @@ -394,9 +393,13 @@ unsigned SDiagsWriter::getEmitFile(const char *FileName){ // Lazily generate the record for the file. entry = State->Files.size(); + RecordData Record; + Record.push_back(RECORD_FILENAME); + Record.push_back(entry); + Record.push_back(0); // For legacy. + Record.push_back(0); // For legacy. StringRef Name(FileName); - RecordDataRef Record = {RECORD_FILENAME, entry, 0 /* For legacy */, - 0 /* For legacy */, Name.size()}; + Record.push_back(Name.size()); State->Stream.EmitRecordWithBlob(State->Abbrevs.get(RECORD_FILENAME), Record, Name); @@ -409,7 +412,7 @@ void SDiagsWriter::EmitCharSourceRange(CharSourceRange R, State->Record.push_back(RECORD_SOURCE_RANGE); AddCharSourceRangeToRecord(R, State->Record, SM); State->Stream.EmitRecordWithAbbrev(State->Abbrevs.get(RECORD_SOURCE_RANGE), - makeArrayRef(State->Record)); + State->Record); } /// \brief Emits the preamble of the diagnostics file. @@ -528,11 +531,14 @@ void SDiagsWriter::EmitBlockInfoBlock() { void SDiagsWriter::EmitMetaBlock() { llvm::BitstreamWriter &Stream = State->Stream; + RecordData &Record = State->Record; AbbreviationMap &Abbrevs = State->Abbrevs; Stream.EnterSubblock(BLOCK_META, 3); - RecordDataRef Record = {RECORD_VERSION, VersionNumber}; - Stream.EmitRecordWithAbbrev(Abbrevs.get(RECORD_VERSION), Record); + Record.clear(); + Record.push_back(RECORD_VERSION); + Record.push_back(VersionNumber); + Stream.EmitRecordWithAbbrev(Abbrevs.get(RECORD_VERSION), Record); Stream.ExitBlock(); } @@ -542,8 +548,11 @@ unsigned SDiagsWriter::getEmitCategory(unsigned int category) { // We use a local version of 'Record' so that we can be generating // another record when we lazily generate one for the category entry. + RecordData Record; + Record.push_back(RECORD_CATEGORY); + Record.push_back(category); StringRef catName = DiagnosticIDs::getCategoryNameFromID(category); - RecordDataRef Record = {RECORD_CATEGORY, category, catName.size()}; + Record.push_back(catName.size()); State->Stream.EmitRecordWithBlob(State->Abbrevs.get(RECORD_CATEGORY), Record, catName); @@ -572,7 +581,10 @@ unsigned SDiagsWriter::getEmitDiagnosticFlag(StringRef FlagName) { entry.second = FlagName; // Lazily emit the string in a separate record. - RecordDataRef Record = {RECORD_DIAG_FLAG, entry.first, FlagName.size()}; + RecordData Record; + Record.push_back(RECORD_DIAG_FLAG); + Record.push_back(entry.first); + Record.push_back(FlagName.size()); State->Stream.EmitRecordWithBlob(State->Abbrevs.get(RECORD_DIAG_FLAG), Record, FlagName); } @@ -670,8 +682,7 @@ void SDiagsWriter::EmitDiagnosticMessage(SourceLocation Loc, } Record.push_back(Message.size()); - Stream.EmitRecordWithBlob(Abbrevs.get(RECORD_DIAG), makeArrayRef(Record), - Message); + Stream.EmitRecordWithBlob(Abbrevs.get(RECORD_DIAG), Record, Message); } void @@ -730,7 +741,7 @@ void SDiagsWriter::EmitCodeContext(SmallVectorImpl<CharSourceRange> &Ranges, Record.push_back(RECORD_FIXIT); AddCharSourceRangeToRecord(Fix.RemoveRange, Record, SM); Record.push_back(Fix.CodeToInsert.size()); - Stream.EmitRecordWithBlob(Abbrevs.get(RECORD_FIXIT), makeArrayRef(Record), + Stream.EmitRecordWithBlob(Abbrevs.get(RECORD_FIXIT), Record, Fix.CodeToInsert); } } @@ -833,9 +844,17 @@ std::error_code SDiagsMerger::visitEndOfDiagnostic() { std::error_code SDiagsMerger::visitSourceRangeRecord(const serialized_diags::Location &Start, const serialized_diags::Location &End) { - RecordDataRef Record = { - RECORD_SOURCE_RANGE, FileLookup[Start.FileID], Start.Line, Start.Col, - Start.Offset, FileLookup[End.FileID], End.Line, End.Col, End.Offset}; + RecordData Record; + Record.push_back(RECORD_SOURCE_RANGE); + Record.push_back(FileLookup[Start.FileID]); + Record.push_back(Start.Line); + Record.push_back(Start.Col); + Record.push_back(Start.Offset); + Record.push_back(FileLookup[End.FileID]); + Record.push_back(End.Line); + Record.push_back(End.Col); + Record.push_back(End.Offset); + Writer.State->Stream.EmitRecordWithAbbrev( Writer.State->Abbrevs.get(RECORD_SOURCE_RANGE), Record); return std::error_code(); @@ -844,13 +863,19 @@ SDiagsMerger::visitSourceRangeRecord(const serialized_diags::Location &Start, std::error_code SDiagsMerger::visitDiagnosticRecord( unsigned Severity, const serialized_diags::Location &Location, unsigned Category, unsigned Flag, StringRef Message) { - RecordDataRef Record = {RECORD_DIAG, Severity, FileLookup[Location.FileID], - Location.Line, Location.Col, Location.Offset, - CategoryLookup[Category], - Flag ? DiagFlagLookup[Flag] : 0, Message.size()}; + RecordData MergedRecord; + MergedRecord.push_back(RECORD_DIAG); + MergedRecord.push_back(Severity); + MergedRecord.push_back(FileLookup[Location.FileID]); + MergedRecord.push_back(Location.Line); + MergedRecord.push_back(Location.Col); + MergedRecord.push_back(Location.Offset); + MergedRecord.push_back(CategoryLookup[Category]); + MergedRecord.push_back(Flag ? DiagFlagLookup[Flag] : 0); + MergedRecord.push_back(Message.size()); Writer.State->Stream.EmitRecordWithBlob( - Writer.State->Abbrevs.get(RECORD_DIAG), Record, Message); + Writer.State->Abbrevs.get(RECORD_DIAG), MergedRecord, Message); return std::error_code(); } @@ -858,9 +883,17 @@ std::error_code SDiagsMerger::visitFixitRecord(const serialized_diags::Location &Start, const serialized_diags::Location &End, StringRef Text) { - RecordDataRef Record = {RECORD_FIXIT, FileLookup[Start.FileID], Start.Line, - Start.Col, Start.Offset, FileLookup[End.FileID], - End.Line, End.Col, End.Offset, Text.size()}; + RecordData Record; + Record.push_back(RECORD_FIXIT); + Record.push_back(FileLookup[Start.FileID]); + Record.push_back(Start.Line); + Record.push_back(Start.Col); + Record.push_back(Start.Offset); + Record.push_back(FileLookup[End.FileID]); + Record.push_back(End.Line); + Record.push_back(End.Col); + Record.push_back(End.Offset); + Record.push_back(Text.size()); Writer.State->Stream.EmitRecordWithBlob( Writer.State->Abbrevs.get(RECORD_FIXIT), Record, Text); |