mirror of
https://github.com/RPCS3/llvm.git
synced 2025-04-02 13:21:43 +00:00
Convert these functions to use ErrorOr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212341 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
82a599a0a4
commit
2d1f275c99
@ -2116,12 +2116,13 @@ std::error_code BitcodeReader::ParseBitcodeInto(Module *M) {
|
||||
}
|
||||
}
|
||||
|
||||
std::error_code BitcodeReader::ParseModuleTriple(std::string &Triple) {
|
||||
ErrorOr<std::string> BitcodeReader::parseModuleTriple() {
|
||||
if (Stream.EnterSubBlock(bitc::MODULE_BLOCK_ID))
|
||||
return Error(InvalidRecord);
|
||||
|
||||
SmallVector<uint64_t, 64> Record;
|
||||
|
||||
std::string Triple;
|
||||
// Read all the records for this module.
|
||||
while (1) {
|
||||
BitstreamEntry Entry = Stream.advanceSkippingSubblocks();
|
||||
@ -2150,9 +2151,10 @@ std::error_code BitcodeReader::ParseModuleTriple(std::string &Triple) {
|
||||
}
|
||||
Record.clear();
|
||||
}
|
||||
return Triple;
|
||||
}
|
||||
|
||||
std::error_code BitcodeReader::ParseTriple(std::string &Triple) {
|
||||
ErrorOr<std::string> BitcodeReader::parseTriple() {
|
||||
if (std::error_code EC = InitStream())
|
||||
return EC;
|
||||
|
||||
@ -2178,7 +2180,7 @@ std::error_code BitcodeReader::ParseTriple(std::string &Triple) {
|
||||
|
||||
case BitstreamEntry::SubBlock:
|
||||
if (Entry.ID == bitc::MODULE_BLOCK_ID)
|
||||
return ParseModuleTriple(Triple);
|
||||
return parseModuleTriple();
|
||||
|
||||
// Ignore other sub-blocks.
|
||||
if (Stream.SkipBlock())
|
||||
@ -3470,11 +3472,10 @@ ErrorOr<Module *> llvm::parseBitcodeFile(MemoryBuffer *Buffer,
|
||||
std::string llvm::getBitcodeTargetTriple(MemoryBuffer *Buffer,
|
||||
LLVMContext &Context) {
|
||||
BitcodeReader *R = new BitcodeReader(Buffer, Context);
|
||||
|
||||
std::string Triple("");
|
||||
R->ParseTriple(Triple);
|
||||
|
||||
ErrorOr<std::string> Triple = R->parseTriple();
|
||||
R->releaseBuffer();
|
||||
delete R;
|
||||
return Triple;
|
||||
if (Triple.getError())
|
||||
return "";
|
||||
return Triple.get();
|
||||
}
|
||||
|
@ -252,7 +252,7 @@ public:
|
||||
|
||||
/// @brief Cheap mechanism to just extract module triple
|
||||
/// @returns true if an error occurred.
|
||||
std::error_code ParseTriple(std::string &Triple);
|
||||
ErrorOr<std::string> parseTriple();
|
||||
|
||||
static uint64_t decodeSignRotatedValue(uint64_t V);
|
||||
|
||||
@ -354,7 +354,7 @@ private:
|
||||
std::error_code ResolveGlobalAndAliasInits();
|
||||
std::error_code ParseMetadata();
|
||||
std::error_code ParseMetadataAttachment();
|
||||
std::error_code ParseModuleTriple(std::string &Triple);
|
||||
ErrorOr<std::string> parseModuleTriple();
|
||||
std::error_code ParseUseLists();
|
||||
std::error_code InitStream();
|
||||
std::error_code InitStreamFromBuffer();
|
||||
|
Loading…
x
Reference in New Issue
Block a user