Move the Serialization library from 'instantiation' to 'expansion', with

the exception of its uses of SourceManager and SourceLocation APIs.

llvm-svn: 135260
This commit is contained in:
Chandler Carruth 2011-07-15 07:25:21 +00:00
parent 03b81a2eb4
commit f92ac9eb7d
4 changed files with 19 additions and 20 deletions

View File

@ -392,8 +392,8 @@ namespace clang {
/// SM_SLOC_BUFFER_ENTRY record.
SM_SLOC_BUFFER_BLOB = 3,
/// \brief Describes a source location entry (SLocEntry) for a
/// macro instantiation.
SM_SLOC_INSTANTIATION_ENTRY = 4,
/// macro expansion.
SM_SLOC_EXPANSION_ENTRY = 4,
/// \brief Describes the SourceManager's line table, with
/// information about #line directives.
SM_LINE_TABLE = 5
@ -420,9 +420,8 @@ namespace clang {
/// \brief Record types used within a preprocessor detail block.
enum PreprocessorDetailRecordTypes {
/// \brief Describes a macro instantiation within the preprocessing
/// record.
PPD_MACRO_INSTANTIATION = 0,
/// \brief Describes a macro expansion within the preprocessing record.
PPD_MACRO_EXPANSION = 0,
/// \brief Describes a macro definition within the preprocessing record.
PPD_MACRO_DEFINITION = 1,

View File

@ -383,7 +383,7 @@ public:
/// are relative to the given system root.
///
/// \param PPRec Record of the preprocessing actions that occurred while
/// preprocessing this file, e.g., macro instantiations
/// preprocessing this file, e.g., macro expansions
void WriteAST(Sema &SemaRef, MemorizeStatCalls *StatCalls,
const std::string &OutputFile,
const char* isysroot);

View File

@ -1195,7 +1195,7 @@ ASTReader::ASTReadResult ASTReader::ReadSourceManagerBlock(PerFileData &F) {
case SM_SLOC_FILE_ENTRY:
case SM_SLOC_BUFFER_ENTRY:
case SM_SLOC_INSTANTIATION_ENTRY:
case SM_SLOC_EXPANSION_ENTRY:
// Once we hit one of the source location entries, we're done.
return Success;
}
@ -1365,7 +1365,7 @@ ASTReader::ASTReadResult ASTReader::ReadSLocEntryRecord(unsigned ID) {
break;
}
case SM_SLOC_INSTANTIATION_ENTRY: {
case SM_SLOC_EXPANSION_ENTRY: {
SourceLocation SpellingLoc = ReadSourceLocation(*F, Record[1]);
SourceMgr.createInstantiationLoc(SpellingLoc,
ReadSourceLocation(*F, Record[2]),
@ -1556,7 +1556,7 @@ PreprocessedEntity *ASTReader::LoadPreprocessedEntity(PerFileData &F) {
(PreprocessorDetailRecordTypes)F.PreprocessorDetailCursor.ReadRecord(
Code, Record, BlobStart, BlobLen);
switch (RecType) {
case PPD_MACRO_INSTANTIATION: {
case PPD_MACRO_EXPANSION: {
if (PreprocessedEntity *PE = PPRec.getPreprocessedEntity(Record[0]))
return PE;

View File

@ -789,7 +789,7 @@ void ASTWriter::WriteBlockInfoBlock() {
RECORD(SM_SLOC_FILE_ENTRY);
RECORD(SM_SLOC_BUFFER_ENTRY);
RECORD(SM_SLOC_BUFFER_BLOB);
RECORD(SM_SLOC_INSTANTIATION_ENTRY);
RECORD(SM_SLOC_EXPANSION_ENTRY);
RECORD(SM_LINE_TABLE);
// Preprocessor Block.
@ -896,7 +896,7 @@ void ASTWriter::WriteBlockInfoBlock() {
AddStmtsExprs(Stream, Record);
BLOCK(PREPROCESSOR_DETAIL_BLOCK);
RECORD(PPD_MACRO_INSTANTIATION);
RECORD(PPD_MACRO_EXPANSION);
RECORD(PPD_MACRO_DEFINITION);
RECORD(PPD_INCLUSION_DIRECTIVE);
@ -1250,12 +1250,12 @@ static unsigned CreateSLocBufferBlobAbbrev(llvm::BitstreamWriter &Stream) {
return Stream.EmitAbbrev(Abbrev);
}
/// \brief Create an abbreviation for the SLocEntry that refers to an
/// buffer.
static unsigned CreateSLocInstantiationAbbrev(llvm::BitstreamWriter &Stream) {
/// \brief Create an abbreviation for the SLocEntry that refers to a macro
/// expansion.
static unsigned CreateSLocExpansionAbbrev(llvm::BitstreamWriter &Stream) {
using namespace llvm;
BitCodeAbbrev *Abbrev = new BitCodeAbbrev();
Abbrev->Add(BitCodeAbbrevOp(SM_SLOC_INSTANTIATION_ENTRY));
Abbrev->Add(BitCodeAbbrevOp(SM_SLOC_EXPANSION_ENTRY));
Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 8)); // Offset
Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 8)); // Spelling location
Abbrev->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 8)); // Start location
@ -1414,7 +1414,7 @@ void ASTWriter::WriteSourceManagerBlock(SourceManager &SourceMgr,
unsigned SLocFileAbbrv = CreateSLocFileAbbrev(Stream);
unsigned SLocBufferAbbrv = CreateSLocBufferAbbrev(Stream);
unsigned SLocBufferBlobAbbrv = CreateSLocBufferBlobAbbrev(Stream);
unsigned SLocInstantiationAbbrv = CreateSLocInstantiationAbbrev(Stream);
unsigned SLocExpansionAbbrv = CreateSLocExpansionAbbrev(Stream);
// Write the line table.
if (SourceMgr.hasLineTable()) {
@ -1479,7 +1479,7 @@ void ASTWriter::WriteSourceManagerBlock(SourceManager &SourceMgr,
} else
Code = SM_SLOC_BUFFER_ENTRY;
} else
Code = SM_SLOC_INSTANTIATION_ENTRY;
Code = SM_SLOC_EXPANSION_ENTRY;
Record.clear();
Record.push_back(Code);
@ -1539,7 +1539,7 @@ void ASTWriter::WriteSourceManagerBlock(SourceManager &SourceMgr,
PreloadSLocs.push_back(BaseSLocID + SLocEntryOffsets.size());
}
} else {
// The source location entry is an instantiation.
// The source location entry is a macro expansion.
const SrcMgr::InstantiationInfo &Inst = SLoc->getInstantiation();
Record.push_back(Inst.getSpellingLoc().getRawEncoding());
Record.push_back(Inst.getInstantiationLocStart().getRawEncoding());
@ -1550,7 +1550,7 @@ void ASTWriter::WriteSourceManagerBlock(SourceManager &SourceMgr,
if (I + 1 != N)
NextOffset = SourceMgr.getSLocEntry(I + 1).getOffset();
Record.push_back(NextOffset - SLoc->getOffset() - 1);
Stream.EmitRecordWithAbbrev(SLocInstantiationAbbrv, Record);
Stream.EmitRecordWithAbbrev(SLocExpansionAbbrv, Record);
}
}
@ -1806,7 +1806,7 @@ void ASTWriter::WritePreprocessorDetail(PreprocessingRecord &PPRec) {
AddSourceLocation(ME->getSourceRange().getEnd(), Record);
AddIdentifierRef(ME->getName(), Record);
Record.push_back(getMacroDefinitionID(ME->getDefinition()));
Stream.EmitRecord(PPD_MACRO_INSTANTIATION, Record);
Stream.EmitRecord(PPD_MACRO_EXPANSION, Record);
continue;
}