[debuginfo-tests] r313401 - [debuginfo-tests] Add string NRVO test for PR34513

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 18 16:56:42 PDT 2017


I've removed the -O1 case from this test in r313600 until r313400 gets
fixed again.

On Mon, Sep 18, 2017 at 4:12 PM, Hans Wennborg <hans at chromium.org> wrote:
> +Tom for 5.0.1.
>
> r313400 was just reverted though, so we'd need to merge it when it relands.
>
> On Sat, Sep 16, 2017 at 9:23 AM, Adrian Prantl <aprantl at apple.com> wrote:
>> This new test is (expectedly) failing on the clang-5.0 release branch and we
>> don't branch the debuginfo-tests repository.
>>
>> http://green.lab.llvm.org/green/job/clang-stage1-configure-RA-release-5/83/
>>
>> Since this fixes a regression clang-5.0, I hereby nominate r313400 and
>> r313399 for clang-5.0.1 if such a thing exists.
>>
>> -- adrian
>>
>>
>>
>> On Sep 15, 2017, at 2:59 PM, Reid Kleckner via llvm-commits
>> <llvm-commits at lists.llvm.org> wrote:
>>
>> Author: rnk
>> Date: Fri Sep 15 14:59:39 2017
>> New Revision: 313401
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=313401&view=rev
>> Log:
>> [debuginfo-tests] Add string NRVO test for PR34513
>>
>> It should pass in -O0 and -O1 after r313400 and r313399.
>>
>> Added:
>>    debuginfo-tests/trunk/nrvo-string.cpp
>>
>> Added: debuginfo-tests/trunk/nrvo-string.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/debuginfo-tests/trunk/nrvo-string.cpp?rev=313401&view=auto
>> ==============================================================================
>> --- debuginfo-tests/trunk/nrvo-string.cpp (added)
>> +++ debuginfo-tests/trunk/nrvo-string.cpp Fri Sep 15 14:59:39 2017
>> @@ -0,0 +1,27 @@
>> +// This ensures that DW_OP_deref is inserted when necessary, such as when
>> NRVO
>> +// of a string object occurs in C++.
>> +//
>> +// RUN: %clangxx -O0 -fno-exceptions %target_itanium_abi_host_triple %s -o
>> %t.out -g
>> +// RUN: %test_debuginfo %s %t.out
>> +// RUN: %clangxx -O1 -fno-exceptions %target_itanium_abi_host_triple %s -o
>> %t.out -g
>> +// RUN: %test_debuginfo %s %t.out
>> +//
>> +// PR34513
>> +
>> +struct string {
>> +  string() {}
>> +  string(int i) : i(i) {}
>> +  ~string() {}
>> +  int i = 0;
>> +};
>> +string get_string() {
>> +  string unused;
>> +  string result = 3;
>> +// DEBUGGER: break 21
>> +  return result;
>> +}
>> +int main() { get_string(); }
>> +
>> +// DEBUGGER: r
>> +// DEBUGGER: print result.i
>> +// CHECK:  = 3
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
>>


More information about the llvm-commits mailing list