[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:12:10 PDT 2017


+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