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

Adrian Prantl via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 21 14:14:43 PDT 2017


If we don't merge it we will have to accept that the clang-5.0 bots have one test failure. This might be acceptable since the compiler release will also have this as a known bug?

-- adrian

> On Sep 21, 2017, at 2:10 PM, Reid Kleckner <rnk at google.com> wrote:
> 
> I think I may have introduced a debug info availability regression in that change. It should be fixed with https://reviews.llvm.org/D37932 <https://reviews.llvm.org/D37932>.
> 
> I'm not sure we should merge to 5.0.1. There might be dependent changes that aren't on the release_50 branch.
> 
> On Thu, Sep 21, 2017 at 10:16 AM, Adrian Prantl <aprantl at apple.com <mailto:aprantl at apple.com>> wrote:
> It looks like the commits 313775 + 313786 should address this now.
> Reid, can you confirm?
> 
> Could we get them cherry-picked to 5.0 and un-revert the debuginfo-test?
> 
> -- adrian
> 
> > On Sep 18, 2017, at 4:56 PM, Hans Wennborg <hans at chromium.org <mailto:hans at chromium.org>> wrote:
> >
> > 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 <mailto: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 <mailto: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/ <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 <mailto: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 <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 <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 <mailto:llvm-commits at lists.llvm.org>
> >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits>
> >>>
> >>>
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170921/0eddcdeb/attachment.html>


More information about the llvm-commits mailing list