<div dir="ltr">I think I may have introduced a debug info availability regression in that change. It should be fixed with <a href="https://reviews.llvm.org/D37932">https://reviews.llvm.org/D37932</a>.<div><br></div><div>I'm not sure we should merge to 5.0.1. There might be dependent changes that aren't on the release_50 branch.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 21, 2017 at 10:16 AM, Adrian Prantl <span dir="ltr"><<a href="mailto:aprantl@apple.com" target="_blank">aprantl@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It looks like the commits 313775 + 313786 should address this now.<br>
Reid, can you confirm?<br>
<br>
Could we get them cherry-picked to 5.0 and un-revert the debuginfo-test?<br>
<span class="HOEnZb"><font color="#888888"><br>
-- adrian<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
> On Sep 18, 2017, at 4:56 PM, Hans Wennborg <<a href="mailto:hans@chromium.org">hans@chromium.org</a>> wrote:<br>
><br>
> I've removed the -O1 case from this test in r313600 until r313400 gets<br>
> fixed again.<br>
><br>
> On Mon, Sep 18, 2017 at 4:12 PM, Hans Wennborg <<a href="mailto:hans@chromium.org">hans@chromium.org</a>> wrote:<br>
>> +Tom for 5.0.1.<br>
>><br>
>> r313400 was just reverted though, so we'd need to merge it when it relands.<br>
>><br>
>> On Sat, Sep 16, 2017 at 9:23 AM, Adrian Prantl <<a href="mailto:aprantl@apple.com">aprantl@apple.com</a>> wrote:<br>
>>> This new test is (expectedly) failing on the clang-5.0 release branch and we<br>
>>> don't branch the debuginfo-tests repository.<br>
>>><br>
>>> <a href="http://green.lab.llvm.org/green/job/clang-stage1-configure-RA-release-5/83/" rel="noreferrer" target="_blank">http://green.lab.llvm.org/<wbr>green/job/clang-stage1-<wbr>configure-RA-release-5/83/</a><br>
>>><br>
>>> Since this fixes a regression clang-5.0, I hereby nominate r313400 and<br>
>>> r313399 for clang-5.0.1 if such a thing exists.<br>
>>><br>
>>> -- adrian<br>
>>><br>
>>><br>
>>><br>
>>> On Sep 15, 2017, at 2:59 PM, Reid Kleckner via llvm-commits<br>
>>> <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br>
>>><br>
>>> Author: rnk<br>
>>> Date: Fri Sep 15 14:59:39 2017<br>
>>> New Revision: 313401<br>
>>><br>
>>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=313401&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=313401&view=rev</a><br>
>>> Log:<br>
>>> [debuginfo-tests] Add string NRVO test for PR34513<br>
>>><br>
>>> It should pass in -O0 and -O1 after r313400 and r313399.<br>
>>><br>
>>> Added:<br>
>>>   debuginfo-tests/trunk/nrvo-<wbr>string.cpp<br>
>>><br>
>>> Added: debuginfo-tests/trunk/nrvo-<wbr>string.cpp<br>
>>> URL:<br>
>>> <a href="http://llvm.org/viewvc/llvm-project/debuginfo-tests/trunk/nrvo-string.cpp?rev=313401&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/debuginfo-tests/trunk/<wbr>nrvo-string.cpp?rev=313401&<wbr>view=auto</a><br>
>>> ==============================<wbr>==============================<wbr>==================<br>
>>> --- debuginfo-tests/trunk/nrvo-<wbr>string.cpp (added)<br>
>>> +++ debuginfo-tests/trunk/nrvo-<wbr>string.cpp Fri Sep 15 14:59:39 2017<br>
>>> @@ -0,0 +1,27 @@<br>
>>> +// This ensures that DW_OP_deref is inserted when necessary, such as when<br>
>>> NRVO<br>
>>> +// of a string object occurs in C++.<br>
>>> +//<br>
>>> +// RUN: %clangxx -O0 -fno-exceptions %target_itanium_abi_host_<wbr>triple %s -o<br>
>>> %t.out -g<br>
>>> +// RUN: %test_debuginfo %s %t.out<br>
>>> +// RUN: %clangxx -O1 -fno-exceptions %target_itanium_abi_host_<wbr>triple %s -o<br>
>>> %t.out -g<br>
>>> +// RUN: %test_debuginfo %s %t.out<br>
>>> +//<br>
>>> +// PR34513<br>
>>> +<br>
>>> +struct string {<br>
>>> +  string() {}<br>
>>> +  string(int i) : i(i) {}<br>
>>> +  ~string() {}<br>
>>> +  int i = 0;<br>
>>> +};<br>
>>> +string get_string() {<br>
>>> +  string unused;<br>
>>> +  string result = 3;<br>
>>> +// DEBUGGER: break 21<br>
>>> +  return result;<br>
>>> +}<br>
>>> +int main() { get_string(); }<br>
>>> +<br>
>>> +// DEBUGGER: r<br>
>>> +// DEBUGGER: print result.i<br>
>>> +// CHECK:  = 3<br>
>>><br>
>>><br>
>>> ______________________________<wbr>_________________<br>
>>> llvm-commits mailing list<br>
>>> <a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
>>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br>
>>><br>
>>><br>
<br>
</div></div></blockquote></div><br></div>