================
@@ -2023,31 +2048,34 @@ APINotesReader::APINotesReader(llvm::MemoryBuffer
*InputBuffer,
// Unknown top-level block, possibly for use by a future version of the
// module format.
if (Cursor.SkipBlock()) {
- Failed = true;
+ Err = llvm::createStringError(llvm::inconvertibleErrorCode(),
+ "Failed to skip unknown top-level
block");
return;
}
break;
}
}
if (!Cursor.AtEndOfStream()) {
- Failed = true;
+ Err = llvm::createStringError(llvm::inconvertibleErrorCode(),
+ "Bitstream has unread data after all
blocks");
return;
}
}
APINotesReader::~APINotesReader() { delete Implementation->InputBuffer; }
-std::unique_ptr<APINotesReader>
+llvm::Expected<std::unique_ptr<APINotesReader>>
APINotesReader::Create(std::unique_ptr<llvm::MemoryBuffer> InputBuffer,
llvm::VersionTuple SwiftVersion) {
- bool Failed = false;
+ llvm::Error Err = llvm::Error::success();
std::unique_ptr<APINotesReader> Reader(
- new APINotesReader(InputBuffer.release(), SwiftVersion, Failed));
- if (Failed)
- return nullptr;
+ new APINotesReader(InputBuffer.release(), SwiftVersion, Err));
+
+ if (Err)
+ return std::move(Err);
- return Reader;
+ return std::move(Reader);
----------------
Xazax-hun wrote:
Redundant `std::move`?
https://github.com/llvm/llvm-project/pull/183812
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits