[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