<div dir="ltr">Yeah, some of these are mirrored from POSIX (<a href="http://en.cppreference.com/w/cpp/error/errc">http://en.cppreference.com/w/cpp/error/errc</a>). If there's a better way of using these 'make_error<...>(...)' APIs without reaching for std::errc:: to convey some meaning, I'd be happy to change most of the XRay code to do that instead. An alternative is to create our own error space, or use something that LLVM already uses.<div><br></div><div>Any advice on how to make this better so that I don't break things further going forward?</div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Jan 13, 2017 at 11:31 AM NAKAMURA Takumi <<a href="mailto:geek4civic@gmail.com">geek4civic@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg">Dean, tweaked in r291863.<div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">I think std::errc may be OS-oriented errors.</div></div><br class="gmail_msg"><div class="gmail_quote gmail_msg"><div dir="ltr" class="gmail_msg">On Fri, Jan 13, 2017 at 8:46 AM Dean Michael Berris <<a href="mailto:dberris@google.com" class="gmail_msg" target="_blank">dberris@google.com</a>> wrote:<br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg">Thanks Hans -- I'll let you decide what to use instead of `bad_message` here that's potentially appropriate for some of the errors.</div><br class="gmail_msg"><div class="gmail_quote gmail_msg"><div dir="ltr" class="gmail_msg">On Fri, Jan 13, 2017 at 5:54 AM Hans Wennborg <<a href="mailto:hans@chromium.org" class="gmail_msg" target="_blank">hans@chromium.org</a>> wrote:<br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Now it's failing with xray-account.cc:466:34: error: ‘bad_message’ is<br class="gmail_msg">
not a member of ‘std::errc’ instead.<br class="gmail_msg">
<br class="gmail_msg">
Takumi: I'm planning on creating the 4.0.0 branch soon. Let me know if<br class="gmail_msg">
any fixes for this need to be merged.<br class="gmail_msg">
<br class="gmail_msg">
Thanks,<br class="gmail_msg">
Hans<br class="gmail_msg">
<br class="gmail_msg">
On Thu, Jan 12, 2017 at 10:45 AM, Hans Wennborg <<a href="mailto:hans@chromium.org" class="gmail_msg" target="_blank">hans@chromium.org</a>> wrote:<br class="gmail_msg">
> dberris, takumi: fyi.<br class="gmail_msg">
><br class="gmail_msg">
> On Thu, Jan 12, 2017 at 10:33 AM, Hans Wennborg via llvm-commits<br class="gmail_msg">
> <<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br class="gmail_msg">
>> Author: hans<br class="gmail_msg">
>> Date: Thu Jan 12 12:33:14 2017<br class="gmail_msg">
>> New Revision: 291786<br class="gmail_msg">
>><br class="gmail_msg">
>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=291786&view=rev" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project?rev=291786&view=rev</a><br class="gmail_msg">
>> Log:<br class="gmail_msg">
>> Avoid std::errc::protocol_* to appease mingw<br class="gmail_msg">
>><br class="gmail_msg">
>> Like r291636 and r285261.<br class="gmail_msg">
>><br class="gmail_msg">
>> Modified:<br class="gmail_msg">
>>     llvm/trunk/lib/XRay/Trace.cpp<br class="gmail_msg">
>>     llvm/trunk/tools/llvm-xray/xray-account.cc<br class="gmail_msg">
>>     llvm/trunk/tools/llvm-xray/xray-converter.cc<br class="gmail_msg">
>><br class="gmail_msg">
>> Modified: llvm/trunk/lib/XRay/Trace.cpp<br class="gmail_msg">
>> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/XRay/Trace.cpp?rev=291786&r1=291785&r2=291786&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/XRay/Trace.cpp?rev=291786&r1=291785&r2=291786&view=diff</a><br class="gmail_msg">
>> ==============================================================================<br class="gmail_msg">
>> --- llvm/trunk/lib/XRay/Trace.cpp (original)<br class="gmail_msg">
>> +++ llvm/trunk/lib/XRay/Trace.cpp Thu Jan 12 12:33:14 2017<br class="gmail_msg">
>> @@ -144,7 +144,7 @@ Expected<Trace> llvm::xray::loadTraceFil<br class="gmail_msg">
>>    if (FileSize < 4) {<br class="gmail_msg">
>>      return make_error<StringError>(<br class="gmail_msg">
>>          Twine("File '") + Filename + "' too small for XRay.",<br class="gmail_msg">
>> -        std::make_error_code(std::errc::protocol_error));<br class="gmail_msg">
>> +        std::make_error_code(std::errc::executable_format_error));<br class="gmail_msg">
>>    }<br class="gmail_msg">
>><br class="gmail_msg">
>>    // Attempt to mmap the file.<br class="gmail_msg">
>><br class="gmail_msg">
>> Modified: llvm/trunk/tools/llvm-xray/xray-account.cc<br class="gmail_msg">
>> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-xray/xray-account.cc?rev=291786&r1=291785&r2=291786&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-xray/xray-account.cc?rev=291786&r1=291785&r2=291786&view=diff</a><br class="gmail_msg">
>> ==============================================================================<br class="gmail_msg">
>> --- llvm/trunk/tools/llvm-xray/xray-account.cc (original)<br class="gmail_msg">
>> +++ llvm/trunk/tools/llvm-xray/xray-account.cc Thu Jan 12 12:33:14 2017<br class="gmail_msg">
>> @@ -477,7 +477,7 @@ static CommandRegistration Unused(&Accou<br class="gmail_msg">
>>      return joinErrors(<br class="gmail_msg">
>>          make_error<StringError>(<br class="gmail_msg">
>>              Twine("Failed loading input file '") + AccountInput + "'",<br class="gmail_msg">
>> -            std::make_error_code(std::errc::protocol_error)),<br class="gmail_msg">
>> +            std::make_error_code(std::errc::executable_format_error)),<br class="gmail_msg">
>>          TraceOrErr.takeError());<br class="gmail_msg">
>>    }<br class="gmail_msg">
>><br class="gmail_msg">
>><br class="gmail_msg">
>> Modified: llvm/trunk/tools/llvm-xray/xray-converter.cc<br class="gmail_msg">
>> URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-xray/xray-converter.cc?rev=291786&r1=291785&r2=291786&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-xray/xray-converter.cc?rev=291786&r1=291785&r2=291786&view=diff</a><br class="gmail_msg">
>> ==============================================================================<br class="gmail_msg">
>> --- llvm/trunk/tools/llvm-xray/xray-converter.cc (original)<br class="gmail_msg">
>> +++ llvm/trunk/tools/llvm-xray/xray-converter.cc Thu Jan 12 12:33:14 2017<br class="gmail_msg">
>> @@ -192,7 +192,7 @@ static CommandRegistration Unused(&Conve<br class="gmail_msg">
>>      return joinErrors(<br class="gmail_msg">
>>          make_error<StringError>(<br class="gmail_msg">
>>              Twine("Failed loading input file '") + ConvertInput + "'.",<br class="gmail_msg">
>> -            std::make_error_code(std::errc::protocol_error)),<br class="gmail_msg">
>> +            std::make_error_code(std::errc::executable_format_error)),<br class="gmail_msg">
>>          TraceOrErr.takeError());<br class="gmail_msg">
>>    }<br class="gmail_msg">
>>    return Error::success();<br class="gmail_msg">
</blockquote></div>
</blockquote></div>
</blockquote></div>