<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<div style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, "EmojiFont", "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;" dir="ltr">
<p style="margin-top:0;margin-bottom:0"><br>
</p>
Great! Thanks!<br>
<br>
<div style="color: rgb(0, 0, 0);">
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> Hans Wennborg <hans@chromium.org><br>
<b>Sent:</b> 23 July 2019 15:58<br>
<b>To:</b> Anastasia Stulova <Anastasia.Stulova@arm.com><br>
<b>Cc:</b> Marco Antognini <Marco.Antognini@arm.com>; Clang Commits <cfe-commits@lists.llvm.org>; nd <nd@arm.com><br>
<b>Subject:</b> Re: r366694 - [NFC] Relaxed regression tests for PR42665</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Merged them both in r366814.<br>
<br>
Thanks,<br>
Hans<br>
<br>
On Tue, Jul 23, 2019 at 7:20 AM Anastasia Stulova<br>
<Anastasia.Stulova@arm.com> wrote:<br>
><br>
><br>
> + cfe-commits<br>
><br>
> ________________________________<br>
> From: Anastasia Stulova<br>
> Sent: 23 July 2019 15:16<br>
> To: Hans Wennborg <hans@chromium.org><br>
> Cc: Marco Antognini <Marco.Antognini@arm.com><br>
> Subject: Re: r366694 - [NFC] Relaxed regression tests for PR42665<br>
><br>
><br>
> @Hans, would it be possible to merge this commit along with r366670 to the release 9.0?<br>
><br>
><br>
> FY, I have also added this to the blocker bug: <a href="https://bugs.llvm.org/show_bug.cgi?id=41727">
https://bugs.llvm.org/show_bug.cgi?id=41727</a><br>
><br>
> Thanks!<br>
> Anastasia<br>
> ________________________________<br>
> From: cfe-commits <cfe-commits-bounces@lists.llvm.org> on behalf of Marco Antognini via cfe-commits <cfe-commits@lists.llvm.org><br>
> Sent: 22 July 2019 15:47<br>
> To: cfe-commits@lists.llvm.org <cfe-commits@lists.llvm.org><br>
> Subject: r366694 - [NFC] Relaxed regression tests for PR42665<br>
><br>
> Author: mantognini<br>
> Date: Mon Jul 22 07:47:36 2019<br>
> New Revision: 366694<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=366694&view=rev">http://llvm.org/viewvc/llvm-project?rev=366694&view=rev</a><br>
> Log:<br>
> [NFC] Relaxed regression tests for PR42665<br>
><br>
> Following up on the buildbot failures, this commits relaxes some tests:<br>
> instead of checking for specific IR output, it now ensures that the<br>
> underlying issue (the crash), and only that, doesn't happen.<br>
><br>
> Modified:<br>
>     cfe/trunk/test/CodeGenCXX/PR42665.cpp<br>
><br>
> Modified: cfe/trunk/test/CodeGenCXX/PR42665.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/PR42665.cpp?rev=366694&r1=366693&r2=366694&view=diff">
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/PR42665.cpp?rev=366694&r1=366693&r2=366694&view=diff</a><br>
> ==============================================================================<br>
> --- cfe/trunk/test/CodeGenCXX/PR42665.cpp (original)<br>
> +++ cfe/trunk/test/CodeGenCXX/PR42665.cpp Mon Jul 22 07:47:36 2019<br>
> @@ -1,7 +1,8 @@<br>
> -// RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -std=c++17 -O0 %s -o - | FileCheck %s<br>
> -// RUN: %clang_cc1 -triple %ms_abi_triple -emit-llvm -std=c++17 -O0 %s -o - | FileCheck %s<br>
> +// RUN: %clang_cc1 -std=c++17 -O0 %s -emit-llvm -o /dev/null -verify -triple %itanium_abi_triple<br>
> +// RUN: %clang_cc1 -std=c++17 -O0 %s -emit-llvm -o /dev/null -verify -triple %ms_abi_triple<br>
><br>
>  // Minimal reproducer for PR42665.<br>
> +// expected-no-diagnostics<br>
><br>
>  struct Foo {<br>
>    Foo() = default;<br>
> @@ -31,31 +32,3 @@ void foobar() {<br>
>    d(f); // Invoke virtual destructor of Foo through d.<br>
>  } // p's destructor is invoked.<br>
><br>
> -// Regexes are used to handle both kind of mangling.<br>
> -//<br>
> -// CHECK-LABEL: define linkonce_odr{{( dso_local)?}} void @{{.*deleter.*Foo.*}}(%struct.Foo* dereferenceable({{[0-9]+}})<br>
> -// CHECK-SAME: [[T:%.*]])<br>
> -// CHECK: [[T_ADDR:%.*]] = alloca %struct.Foo*<br>
> -// CHECK: store %struct.Foo* [[T]], %struct.Foo** [[T_ADDR]]<br>
> -// CHECK: [[R0:%.*]] = load %struct.Foo*, %struct.Foo** [[T_ADDR]]<br>
> -// CHECK: [[R1:%.*]] = bitcast %struct.Foo* [[R0]] to [[TYPE:.*struct\.Foo.*]]***<br>
> -// CHECK: [[VTABLE:%.*]] = load [[TYPE]]**, [[TYPE]]*** [[R1]]<br>
> -// CHECK: [[VFUN:%.*]] = getelementptr inbounds [[TYPE]]*, [[TYPE]]** [[VTABLE]], i64 0<br>
> -// CHECK: [[DTOR:%.*]] = load [[TYPE]]*, [[TYPE]]** [[VFUN]]<br>
> -// CHECK: call {{(void|i8\*)}} [[DTOR]](%struct.Foo* [[R0]]<br>
> -//<br>
> -// CHECK-LABEL: define{{( dso_local)?}} void @{{.*foobar.*}}()<br>
> -// CHECK: [[P:%.*]] = alloca %struct.Pair<br>
> -// CHECK: [[F:%.*]] = alloca %struct.Foo*<br>
> -// CHECK: [[D:%.*]] = alloca [[TYPE:void \(%struct.Foo\*\)]]**<br>
> -// CHECK: call void @{{.*make_pair.*}}(%struct.Pair* sret [[P]])<br>
> -// CHECK: [[FIRST:%.*]] = getelementptr inbounds %struct.Pair, %struct.Pair* [[P]], i32 0, i32 0<br>
> -// CHECK: store %struct.Foo* [[FIRST]], %struct.Foo** [[F]]<br>
> -// CHECK: [[SECOND:%.*]] = getelementptr inbounds %struct.Pair, %struct.Pair* [[P]], i32 0, i32 1<br>
> -// CHECK: store void (%struct.Foo*)** [[SECOND]], [[TYPE]]*** [[D]]<br>
> -// CHECK: [[R0:%.*]] = load [[TYPE]]**, [[TYPE]]*** [[D]]<br>
> -// CHECK: [[R1:%.*]] = load [[TYPE]]*, [[TYPE]]** [[R0]]<br>
> -// CHECK: [[R2:%.*]] = load %struct.Foo*, %struct.Foo** [[F]]<br>
> -// CHECK: call void [[R1]](%struct.Foo* dereferenceable({{[0-9]+}}) [[R2]])<br>
> -// CHECK: call void @{{.*Pair.*Foo.*}}(%struct.Pair* [[P]])<br>
> -<br>
><br>
><br>
> _______________________________________________<br>
> cfe-commits mailing list<br>
> cfe-commits@lists.llvm.org<br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
</div>
</span></font></div>
</div>
</div>
</div>
</body>
</html>