本文整理汇总了C++中llvm::BitstreamCursor::ReadCode方法的典型用法代码示例。如果您正苦于以下问题:C++ BitstreamCursor::ReadCode方法的具体用法?C++ BitstreamCursor::ReadCode怎么用?C++ BitstreamCursor::ReadCode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类llvm::BitstreamCursor
的用法示例。
在下文中一共展示了BitstreamCursor::ReadCode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
llvm::ErrorOr<SerializedDiagnosticReader::Cursor>
SerializedDiagnosticReader::skipUntilRecordOrBlock(
llvm::BitstreamCursor &Stream, unsigned &BlockOrRecordID) {
BlockOrRecordID = 0;
while (!Stream.AtEndOfStream()) {
unsigned Code = Stream.ReadCode();
switch ((llvm::bitc::FixedAbbrevIDs)Code) {
case llvm::bitc::ENTER_SUBBLOCK:
BlockOrRecordID = Stream.ReadSubBlockID();
return Cursor::BlockBegin;
case llvm::bitc::END_BLOCK:
if (Stream.ReadBlockEnd())
return SDError::InvalidDiagnostics;
return Cursor::BlockEnd;
case llvm::bitc::DEFINE_ABBREV:
Stream.ReadAbbrevRecord();
continue;
case llvm::bitc::UNABBREV_RECORD:
return SDError::UnsupportedConstruct;
default:
// We found a record.
BlockOrRecordID = Code;
return Cursor::Record;
}
}
return SDError::InvalidDiagnostics;
}