<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none"><!-- p { margin-top: 0px; margin-bottom: 0px; }--></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>​Hi Chandler,<br>
</p>
<p><br>
</p>
<p>I have asserts disabled in my build, that's why I missed it.<br>
</p>
<p>It should be Ok, now<br>
</p>
<p><br>
</p>
<p>Eugene<br>
</p>
<div style="color: rgb(33, 33, 33);">
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>От:</b> Chandler Carruth <chandlerc@gmail.com><br>
<b>Отправлено:</b> 11 февраля 2019 г. 13:04<br>
<b>Кому:</b> Evgeny Leviant<br>
<b>Копия:</b> llvm-commits<br>
<b>Тема:</b> Re: [llvm] r353679 - Small refactoring of FileError. NFC.</font>
<div> </div>
</div>
<div>
<div style="font-size:9pt; font-family:'Calibri',sans-serif">
<h3 style="background-color:#ffffff; font-size:10pt; border:1px dotted #003333; padding:.8em">
<span style="color:#ff6600">CAUTION:<strong> </strong></span>This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.  If you suspect potential phishing or spam
 email, report it to ReportSpam@accesssoftek.com</h3>
</div>
<div>
<div dir="ltr">Doesn't appear to build w/ asserts enabled:
<div><a href="http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/43706/steps/build/logs/stdio">http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/43706/steps/build/logs/stdio</a><br>
</div>
<div><br>
</div>
<div>Please make sure to build and test changes w/ asserts enabled before landing.</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Mon, Feb 11, 2019 at 1:49 AM Eugene Leviant via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
Author: evgeny777<br>
Date: Mon Feb 11 01:49:37 2019<br>
New Revision: 353679<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=353679&view=rev" rel="noreferrer" target="_blank">
http://llvm.org/viewvc/llvm-project?rev=353679&view=rev</a><br>
Log:<br>
Small refactoring of FileError. NFC.<br>
<br>
Differential revision: <a href="https://reviews.llvm.org/D57945" rel="noreferrer" target="_blank">
https://reviews.llvm.org/D57945</a><br>
<br>
Modified:<br>
    llvm/trunk/include/llvm/Support/Error.h<br>
    llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp<br>
    llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp<br>
    llvm/trunk/tools/llvm-objcopy/llvm-objcopy.h<br>
<br>
Modified: llvm/trunk/include/llvm/Support/Error.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/Error.h?rev=353679&r1=353678&r2=353679&view=diff" rel="noreferrer" target="_blank">
http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/Error.h?rev=353679&r1=353678&r2=353679&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/include/llvm/Support/Error.h (original)<br>
+++ llvm/trunk/include/llvm/Support/Error.h Mon Feb 11 01:49:37 2019<br>
@@ -1176,7 +1176,7 @@ Error createStringError(std::error_code<br>
 /// show more detailed information to the user.<br>
 class FileError final : public ErrorInfo<FileError> {<br>
<br>
-  friend Error createFileError(std::string, Error);<br>
+  friend Error createFileError(const Twine &, Error);<br>
<br>
 public:<br>
   void log(raw_ostream &OS) const override {<br>
@@ -1193,15 +1193,15 @@ public:<br>
   static char ID;<br>
<br>
 private:<br>
-  FileError(std::string F, std::unique_ptr<ErrorInfoBase> E) {<br>
+  FileError(const Twine &F, std::unique_ptr<ErrorInfoBase> E) {<br>
     assert(E && "Cannot create FileError from Error success value.");<br>
     assert(!F.empty() &&<br>
            "The file name provided to FileError must not be empty.");<br>
-    FileName = F;<br>
+    FileName = F.str();<br>
     Err = std::move(E);<br>
   }<br>
<br>
-  static Error build(std::string F, Error E) {<br>
+  static Error build(const Twine &F, Error E) {<br>
     return Error(std::unique_ptr<FileError>(new FileError(F, E.takePayload())));<br>
   }<br>
<br>
@@ -1211,11 +1211,17 @@ private:<br>
<br>
 /// Concatenate a source file path and/or name with an Error. The resulting<br>
 /// Error is unchecked.<br>
-inline Error createFileError(std::string F, Error E) {<br>
+inline Error createFileError(const Twine &F, Error E) {<br>
   return FileError::build(F, std::move(E));<br>
 }<br>
<br>
-Error createFileError(std::string F, ErrorSuccess) = delete;<br>
+/// Concatenate a source file path and/or name with a std::error_code <br>
+/// to form an Error object.<br>
+inline Error createFileError(const Twine &F, std::error_code EC) {<br>
+  return createFileError(F, errorCodeToError(EC));<br>
+}<br>
+<br>
+Error createFileError(const Twine &F, ErrorSuccess) = delete;<br>
<br>
 /// Helper for check-and-exit error handling.<br>
 ///<br>
<br>
Modified: llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp?rev=353679&r1=353678&r2=353679&view=diff" rel="noreferrer" target="_blank">
http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp?rev=353679&r1=353678&r2=353679&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp (original)<br>
+++ llvm/trunk/tools/llvm-objcopy/CopyConfig.cpp Mon Feb 11 01:49:37 2019<br>
@@ -263,7 +263,7 @@ static Error addSymbolsToRenameFromFile(<br>
   SmallVector<StringRef, 16> Lines;<br>
   auto BufOrErr = MemoryBuffer::getFile(Filename);<br>
   if (!BufOrErr)<br>
-    return createError(Filename, BufOrErr.getError());<br>
+    return createFileError(Filename, BufOrErr.getError());<br>
<br>
   BufOrErr.get()->getBuffer().split(Lines, '\n');<br>
   size_t NumLines = Lines.size();<br>
<br>
Modified: llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp?rev=353679&r1=353678&r2=353679&view=diff" rel="noreferrer" target="_blank">
http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp?rev=353679&r1=353678&r2=353679&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp (original)<br>
+++ llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp Mon Feb 11 01:49:37 2019<br>
@@ -52,11 +52,6 @@ namespace objcopy {<br>
 // The name this program was invoked as.<br>
 StringRef ToolName;<br>
<br>
-Error createError(StringRef File, std::error_code EC) {<br>
-  assert(EC);  <br>
-  return createFileError(File, make_error<StringError>(EC));<br>
-}<br>
-<br>
 LLVM_ATTRIBUTE_NORETURN void error(Twine Message) {<br>
   WithColor::error(errs(), ToolName) << Message << ".\n";<br>
   errs().flush();<br>
@@ -74,7 +69,8 @@ LLVM_ATTRIBUTE_NORETURN void error(Error<br>
 }<br>
<br>
 LLVM_ATTRIBUTE_NORETURN void reportError(StringRef File, std::error_code EC) {<br>
-  error(createError(File, EC));<br>
+  assert(EC);<br>
+  error(createFileError(File, EC));<br>
 }<br>
<br>
 LLVM_ATTRIBUTE_NORETURN void reportError(StringRef File, Error E) {<br>
<br>
Modified: llvm/trunk/tools/llvm-objcopy/llvm-objcopy.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objcopy/llvm-objcopy.h?rev=353679&r1=353678&r2=353679&view=diff" rel="noreferrer" target="_blank">
http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objcopy/llvm-objcopy.h?rev=353679&r1=353678&r2=353679&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/tools/llvm-objcopy/llvm-objcopy.h (original)<br>
+++ llvm/trunk/tools/llvm-objcopy/llvm-objcopy.h Mon Feb 11 01:49:37 2019<br>
@@ -18,8 +18,6 @@<br>
 namespace llvm {<br>
 namespace objcopy {<br>
<br>
-Error createError(StringRef File, std::error_code EC);<br>
-<br>
 LLVM_ATTRIBUTE_NORETURN extern void error(Twine Message);<br>
 LLVM_ATTRIBUTE_NORETURN extern void error(Error E);<br>
 LLVM_ATTRIBUTE_NORETURN extern void reportError(StringRef File, Error E);<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote>
</div>
</div>
</div>
</div>
</body>
</html>