[llvm] r353679 - Small refactoring of FileError. NFC.
Chandler Carruth via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 11 02:04:16 PST 2019
Doesn't appear to build w/ asserts enabled:
http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/43706/steps/build/logs/stdio
Please make sure to build and test changes w/ asserts enabled before
landing.
On Mon, Feb 11, 2019 at 1:49 AM Eugene Leviant via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
> Author: evgeny777
> Date: Mon Feb 11 01:49:37 2019
> New Revision: 353679
>
> URL: http://llvm.org/viewvc/llvm-project?rev=353679&view=rev
> Log:
> Small refactoring of FileError. NFC.
>
> Differential revision: https://reviews.llvm.org/D57945
>
> Modified:
> llvm/trunk/include/llvm/Support/Error.h
> llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp
> llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp
> llvm/trunk/tools/llvm-objcopy/llvm-objcopy.h
>
> Modified: llvm/trunk/include/llvm/Support/Error.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/Error.h?rev=353679&r1=353678&r2=353679&view=diff
>
> ==============================================================================
> --- llvm/trunk/include/llvm/Support/Error.h (original)
> +++ llvm/trunk/include/llvm/Support/Error.h Mon Feb 11 01:49:37 2019
> @@ -1176,7 +1176,7 @@ Error createStringError(std::error_code
> /// show more detailed information to the user.
> class FileError final : public ErrorInfo<FileError> {
>
> - friend Error createFileError(std::string, Error);
> + friend Error createFileError(const Twine &, Error);
>
> public:
> void log(raw_ostream &OS) const override {
> @@ -1193,15 +1193,15 @@ public:
> static char ID;
>
> private:
> - FileError(std::string F, std::unique_ptr<ErrorInfoBase> E) {
> + FileError(const Twine &F, std::unique_ptr<ErrorInfoBase> E) {
> assert(E && "Cannot create FileError from Error success value.");
> assert(!F.empty() &&
> "The file name provided to FileError must not be empty.");
> - FileName = F;
> + FileName = F.str();
> Err = std::move(E);
> }
>
> - static Error build(std::string F, Error E) {
> + static Error build(const Twine &F, Error E) {
> return Error(std::unique_ptr<FileError>(new FileError(F,
> E.takePayload())));
> }
>
> @@ -1211,11 +1211,17 @@ private:
>
> /// Concatenate a source file path and/or name with an Error. The
> resulting
> /// Error is unchecked.
> -inline Error createFileError(std::string F, Error E) {
> +inline Error createFileError(const Twine &F, Error E) {
> return FileError::build(F, std::move(E));
> }
>
> -Error createFileError(std::string F, ErrorSuccess) = delete;
> +/// Concatenate a source file path and/or name with a std::error_code
> +/// to form an Error object.
> +inline Error createFileError(const Twine &F, std::error_code EC) {
> + return createFileError(F, errorCodeToError(EC));
> +}
> +
> +Error createFileError(const Twine &F, ErrorSuccess) = delete;
>
> /// Helper for check-and-exit error handling.
> ///
>
> Modified: llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp?rev=353679&r1=353678&r2=353679&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp (original)
> +++ llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp Mon Feb 11 01:49:37 2019
> @@ -263,7 +263,7 @@ static Error addSymbolsToRenameFromFile(
> SmallVector<StringRef, 16> Lines;
> auto BufOrErr = MemoryBuffer::getFile(Filename);
> if (!BufOrErr)
> - return createError(Filename, BufOrErr.getError());
> + return createFileError(Filename, BufOrErr.getError());
>
> BufOrErr.get()->getBuffer().split(Lines, '\n');
> size_t NumLines = Lines.size();
>
> Modified: llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp?rev=353679&r1=353678&r2=353679&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp (original)
> +++ llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp Mon Feb 11 01:49:37 2019
> @@ -52,11 +52,6 @@ namespace objcopy {
> // The name this program was invoked as.
> StringRef ToolName;
>
> -Error createError(StringRef File, std::error_code EC) {
> - assert(EC);
> - return createFileError(File, make_error<StringError>(EC));
> -}
> -
> LLVM_ATTRIBUTE_NORETURN void error(Twine Message) {
> WithColor::error(errs(), ToolName) << Message << ".\n";
> errs().flush();
> @@ -74,7 +69,8 @@ LLVM_ATTRIBUTE_NORETURN void error(Error
> }
>
> LLVM_ATTRIBUTE_NORETURN void reportError(StringRef File, std::error_code
> EC) {
> - error(createError(File, EC));
> + assert(EC);
> + error(createFileError(File, EC));
> }
>
> LLVM_ATTRIBUTE_NORETURN void reportError(StringRef File, Error E) {
>
> Modified: llvm/trunk/tools/llvm-objcopy/llvm-objcopy.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objcopy/llvm-objcopy.h?rev=353679&r1=353678&r2=353679&view=diff
>
> ==============================================================================
> --- llvm/trunk/tools/llvm-objcopy/llvm-objcopy.h (original)
> +++ llvm/trunk/tools/llvm-objcopy/llvm-objcopy.h Mon Feb 11 01:49:37 2019
> @@ -18,8 +18,6 @@
> namespace llvm {
> namespace objcopy {
>
> -Error createError(StringRef File, std::error_code EC);
> -
> LLVM_ATTRIBUTE_NORETURN extern void error(Twine Message);
> LLVM_ATTRIBUTE_NORETURN extern void error(Error E);
> LLVM_ATTRIBUTE_NORETURN extern void reportError(StringRef File, Error E);
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190211/da212649/attachment.html>
More information about the llvm-commits
mailing list