Re: r366694 - [NFC] Relaxed regression tests for PR42665

2019-07-23 Thread Anastasia Stulova via cfe-commits

Great! Thanks!


From: Hans Wennborg 
Sent: 23 July 2019 15:58
To: Anastasia Stulova 
Cc: Marco Antognini ; Clang Commits 
; nd 
Subject: Re: r366694 - [NFC] Relaxed regression tests for PR42665

Merged them both in r366814.

Thanks,
Hans

On Tue, Jul 23, 2019 at 7:20 AM Anastasia Stulova
 wrote:
>
>
> + cfe-commits
>
> 
> From: Anastasia Stulova
> Sent: 23 July 2019 15:16
> To: Hans Wennborg 
> Cc: Marco Antognini 
> Subject: Re: r366694 - [NFC] Relaxed regression tests for PR42665
>
>
> @Hans, would it be possible to merge this commit along with r366670 to the 
> release 9.0?
>
>
> FY, I have also added this to the blocker bug: 
> https://bugs.llvm.org/show_bug.cgi?id=41727
>
> Thanks!
> Anastasia
> 
> From: cfe-commits  on behalf of Marco 
> Antognini via cfe-commits 
> Sent: 22 July 2019 15:47
> To: cfe-commits@lists.llvm.org 
> Subject: r366694 - [NFC] Relaxed regression tests for PR42665
>
> Author: mantognini
> Date: Mon Jul 22 07:47:36 2019
> New Revision: 366694
>
> URL: http://llvm.org/viewvc/llvm-project?rev=366694=rev
> Log:
> [NFC] Relaxed regression tests for PR42665
>
> Following up on the buildbot failures, this commits relaxes some tests:
> instead of checking for specific IR output, it now ensures that the
> underlying issue (the crash), and only that, doesn't happen.
>
> Modified:
> cfe/trunk/test/CodeGenCXX/PR42665.cpp
>
> Modified: cfe/trunk/test/CodeGenCXX/PR42665.cpp
> URL: 
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/PR42665.cpp?rev=366694=366693=366694=diff
> ==
> --- cfe/trunk/test/CodeGenCXX/PR42665.cpp (original)
> +++ cfe/trunk/test/CodeGenCXX/PR42665.cpp Mon Jul 22 07:47:36 2019
> @@ -1,7 +1,8 @@
> -// RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -std=c++17 -O0 %s 
> -o - | FileCheck %s
> -// RUN: %clang_cc1 -triple %ms_abi_triple -emit-llvm -std=c++17 -O0 %s -o - 
> | FileCheck %s
> +// RUN: %clang_cc1 -std=c++17 -O0 %s -emit-llvm -o /dev/null -verify -triple 
> %itanium_abi_triple
> +// RUN: %clang_cc1 -std=c++17 -O0 %s -emit-llvm -o /dev/null -verify -triple 
> %ms_abi_triple
>
>  // Minimal reproducer for PR42665.
> +// expected-no-diagnostics
>
>  struct Foo {
>Foo() = default;
> @@ -31,31 +32,3 @@ void foobar() {
>d(f); // Invoke virtual destructor of Foo through d.
>  } // p's destructor is invoked.
>
> -// Regexes are used to handle both kind of mangling.
> -//
> -// CHECK-LABEL: define linkonce_odr{{( dso_local)?}} void 
> @{{.*deleter.*Foo.*}}(%struct.Foo* dereferenceable({{[0-9]+}})
> -// CHECK-SAME: [[T:%.*]])
> -// CHECK: [[T_ADDR:%.*]] = alloca %struct.Foo*
> -// CHECK: store %struct.Foo* [[T]], %struct.Foo** [[T_ADDR]]
> -// CHECK: [[R0:%.*]] = load %struct.Foo*, %struct.Foo** [[T_ADDR]]
> -// CHECK: [[R1:%.*]] = bitcast %struct.Foo* [[R0]] to 
> [[TYPE:.*struct\.Foo.*]]***
> -// CHECK: [[VTABLE:%.*]] = load [[TYPE]]**, [[TYPE]]*** [[R1]]
> -// CHECK: [[VFUN:%.*]] = getelementptr inbounds [[TYPE]]*, [[TYPE]]** 
> [[VTABLE]], i64 0
> -// CHECK: [[DTOR:%.*]] = load [[TYPE]]*, [[TYPE]]** [[VFUN]]
> -// CHECK: call {{(void|i8\*)}} [[DTOR]](%struct.Foo* [[R0]]
> -//
> -// CHECK-LABEL: define{{( dso_local)?}} void @{{.*foobar.*}}()
> -// CHECK: [[P:%.*]] = alloca %struct.Pair
> -// CHECK: [[F:%.*]] = alloca %struct.Foo*
> -// CHECK: [[D:%.*]] = alloca [[TYPE:void \(%struct.Foo\*\)]]**
> -// CHECK: call void @{{.*make_pair.*}}(%struct.Pair* sret [[P]])
> -// CHECK: [[FIRST:%.*]] = getelementptr inbounds %struct.Pair, %struct.Pair* 
> [[P]], i32 0, i32 0
> -// CHECK: store %struct.Foo* [[FIRST]], %struct.Foo** [[F]]
> -// CHECK: [[SECOND:%.*]] = getelementptr inbounds %struct.Pair, 
> %struct.Pair* [[P]], i32 0, i32 1
> -// CHECK: store void (%struct.Foo*)** [[SECOND]], [[TYPE]]*** [[D]]
> -// CHECK: [[R0:%.*]] = load [[TYPE]]**, [[TYPE]]*** [[D]]
> -// CHECK: [[R1:%.*]] = load [[TYPE]]*, [[TYPE]]** [[R0]]
> -// CHECK: [[R2:%.*]] = load %struct.Foo*, %struct.Foo** [[F]]
> -// CHECK: call void [[R1]](%struct.Foo* dereferenceable({{[0-9]+}}) [[R2]])
> -// CHECK: call void @{{.*Pair.*Foo.*}}(%struct.Pair* [[P]])
> -
>
>
> ___
> cfe-commits mailing list
> cfe-commits@lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


Re: r366694 - [NFC] Relaxed regression tests for PR42665

2019-07-23 Thread Hans Wennborg via cfe-commits
Merged them both in r366814.

Thanks,
Hans

On Tue, Jul 23, 2019 at 7:20 AM Anastasia Stulova
 wrote:
>
>
> + cfe-commits
>
> 
> From: Anastasia Stulova
> Sent: 23 July 2019 15:16
> To: Hans Wennborg 
> Cc: Marco Antognini 
> Subject: Re: r366694 - [NFC] Relaxed regression tests for PR42665
>
>
> @Hans, would it be possible to merge this commit along with r366670 to the 
> release 9.0?
>
>
> FY, I have also added this to the blocker bug: 
> https://bugs.llvm.org/show_bug.cgi?id=41727
>
> Thanks!
> Anastasia
> 
> From: cfe-commits  on behalf of Marco 
> Antognini via cfe-commits 
> Sent: 22 July 2019 15:47
> To: cfe-commits@lists.llvm.org 
> Subject: r366694 - [NFC] Relaxed regression tests for PR42665
>
> Author: mantognini
> Date: Mon Jul 22 07:47:36 2019
> New Revision: 366694
>
> URL: http://llvm.org/viewvc/llvm-project?rev=366694=rev
> Log:
> [NFC] Relaxed regression tests for PR42665
>
> Following up on the buildbot failures, this commits relaxes some tests:
> instead of checking for specific IR output, it now ensures that the
> underlying issue (the crash), and only that, doesn't happen.
>
> Modified:
> cfe/trunk/test/CodeGenCXX/PR42665.cpp
>
> Modified: cfe/trunk/test/CodeGenCXX/PR42665.cpp
> URL: 
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/PR42665.cpp?rev=366694=366693=366694=diff
> ==
> --- cfe/trunk/test/CodeGenCXX/PR42665.cpp (original)
> +++ cfe/trunk/test/CodeGenCXX/PR42665.cpp Mon Jul 22 07:47:36 2019
> @@ -1,7 +1,8 @@
> -// RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -std=c++17 -O0 %s 
> -o - | FileCheck %s
> -// RUN: %clang_cc1 -triple %ms_abi_triple -emit-llvm -std=c++17 -O0 %s -o - 
> | FileCheck %s
> +// RUN: %clang_cc1 -std=c++17 -O0 %s -emit-llvm -o /dev/null -verify -triple 
> %itanium_abi_triple
> +// RUN: %clang_cc1 -std=c++17 -O0 %s -emit-llvm -o /dev/null -verify -triple 
> %ms_abi_triple
>
>  // Minimal reproducer for PR42665.
> +// expected-no-diagnostics
>
>  struct Foo {
>Foo() = default;
> @@ -31,31 +32,3 @@ void foobar() {
>d(f); // Invoke virtual destructor of Foo through d.
>  } // p's destructor is invoked.
>
> -// Regexes are used to handle both kind of mangling.
> -//
> -// CHECK-LABEL: define linkonce_odr{{( dso_local)?}} void 
> @{{.*deleter.*Foo.*}}(%struct.Foo* dereferenceable({{[0-9]+}})
> -// CHECK-SAME: [[T:%.*]])
> -// CHECK: [[T_ADDR:%.*]] = alloca %struct.Foo*
> -// CHECK: store %struct.Foo* [[T]], %struct.Foo** [[T_ADDR]]
> -// CHECK: [[R0:%.*]] = load %struct.Foo*, %struct.Foo** [[T_ADDR]]
> -// CHECK: [[R1:%.*]] = bitcast %struct.Foo* [[R0]] to 
> [[TYPE:.*struct\.Foo.*]]***
> -// CHECK: [[VTABLE:%.*]] = load [[TYPE]]**, [[TYPE]]*** [[R1]]
> -// CHECK: [[VFUN:%.*]] = getelementptr inbounds [[TYPE]]*, [[TYPE]]** 
> [[VTABLE]], i64 0
> -// CHECK: [[DTOR:%.*]] = load [[TYPE]]*, [[TYPE]]** [[VFUN]]
> -// CHECK: call {{(void|i8\*)}} [[DTOR]](%struct.Foo* [[R0]]
> -//
> -// CHECK-LABEL: define{{( dso_local)?}} void @{{.*foobar.*}}()
> -// CHECK: [[P:%.*]] = alloca %struct.Pair
> -// CHECK: [[F:%.*]] = alloca %struct.Foo*
> -// CHECK: [[D:%.*]] = alloca [[TYPE:void \(%struct.Foo\*\)]]**
> -// CHECK: call void @{{.*make_pair.*}}(%struct.Pair* sret [[P]])
> -// CHECK: [[FIRST:%.*]] = getelementptr inbounds %struct.Pair, %struct.Pair* 
> [[P]], i32 0, i32 0
> -// CHECK: store %struct.Foo* [[FIRST]], %struct.Foo** [[F]]
> -// CHECK: [[SECOND:%.*]] = getelementptr inbounds %struct.Pair, 
> %struct.Pair* [[P]], i32 0, i32 1
> -// CHECK: store void (%struct.Foo*)** [[SECOND]], [[TYPE]]*** [[D]]
> -// CHECK: [[R0:%.*]] = load [[TYPE]]**, [[TYPE]]*** [[D]]
> -// CHECK: [[R1:%.*]] = load [[TYPE]]*, [[TYPE]]** [[R0]]
> -// CHECK: [[R2:%.*]] = load %struct.Foo*, %struct.Foo** [[F]]
> -// CHECK: call void [[R1]](%struct.Foo* dereferenceable({{[0-9]+}}) [[R2]])
> -// CHECK: call void @{{.*Pair.*Foo.*}}(%struct.Pair* [[P]])
> -
>
>
> ___
> cfe-commits mailing list
> cfe-commits@lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


Re: r366694 - [NFC] Relaxed regression tests for PR42665

2019-07-23 Thread Anastasia Stulova via cfe-commits

+ cfe-commits


From: Anastasia Stulova
Sent: 23 July 2019 15:16
To: Hans Wennborg 
Cc: Marco Antognini 
Subject: Re: r366694 - [NFC] Relaxed regression tests for PR42665


@Hans, would it be possible to merge this commit along with r366670 to the 
release 9.0?


FY, I have also added this to the blocker bug: 
https://bugs.llvm.org/show_bug.cgi?id=41727

Thanks!
Anastasia

From: cfe-commits  on behalf of Marco 
Antognini via cfe-commits 
Sent: 22 July 2019 15:47
To: cfe-commits@lists.llvm.org 
Subject: r366694 - [NFC] Relaxed regression tests for PR42665

Author: mantognini
Date: Mon Jul 22 07:47:36 2019
New Revision: 366694

URL: http://llvm.org/viewvc/llvm-project?rev=366694=rev
Log:
[NFC] Relaxed regression tests for PR42665

Following up on the buildbot failures, this commits relaxes some tests:
instead of checking for specific IR output, it now ensures that the
underlying issue (the crash), and only that, doesn't happen.

Modified:
cfe/trunk/test/CodeGenCXX/PR42665.cpp

Modified: cfe/trunk/test/CodeGenCXX/PR42665.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/PR42665.cpp?rev=366694=366693=366694=diff
==
--- cfe/trunk/test/CodeGenCXX/PR42665.cpp (original)
+++ cfe/trunk/test/CodeGenCXX/PR42665.cpp Mon Jul 22 07:47:36 2019
@@ -1,7 +1,8 @@
-// RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -std=c++17 -O0 %s -o 
- | FileCheck %s
-// RUN: %clang_cc1 -triple %ms_abi_triple -emit-llvm -std=c++17 -O0 %s -o - | 
FileCheck %s
+// RUN: %clang_cc1 -std=c++17 -O0 %s -emit-llvm -o /dev/null -verify -triple 
%itanium_abi_triple
+// RUN: %clang_cc1 -std=c++17 -O0 %s -emit-llvm -o /dev/null -verify -triple 
%ms_abi_triple

 // Minimal reproducer for PR42665.
+// expected-no-diagnostics

 struct Foo {
   Foo() = default;
@@ -31,31 +32,3 @@ void foobar() {
   d(f); // Invoke virtual destructor of Foo through d.
 } // p's destructor is invoked.

-// Regexes are used to handle both kind of mangling.
-//
-// CHECK-LABEL: define linkonce_odr{{( dso_local)?}} void 
@{{.*deleter.*Foo.*}}(%struct.Foo* dereferenceable({{[0-9]+}})
-// CHECK-SAME: [[T:%.*]])
-// CHECK: [[T_ADDR:%.*]] = alloca %struct.Foo*
-// CHECK: store %struct.Foo* [[T]], %struct.Foo** [[T_ADDR]]
-// CHECK: [[R0:%.*]] = load %struct.Foo*, %struct.Foo** [[T_ADDR]]
-// CHECK: [[R1:%.*]] = bitcast %struct.Foo* [[R0]] to 
[[TYPE:.*struct\.Foo.*]]***
-// CHECK: [[VTABLE:%.*]] = load [[TYPE]]**, [[TYPE]]*** [[R1]]
-// CHECK: [[VFUN:%.*]] = getelementptr inbounds [[TYPE]]*, [[TYPE]]** 
[[VTABLE]], i64 0
-// CHECK: [[DTOR:%.*]] = load [[TYPE]]*, [[TYPE]]** [[VFUN]]
-// CHECK: call {{(void|i8\*)}} [[DTOR]](%struct.Foo* [[R0]]
-//
-// CHECK-LABEL: define{{( dso_local)?}} void @{{.*foobar.*}}()
-// CHECK: [[P:%.*]] = alloca %struct.Pair
-// CHECK: [[F:%.*]] = alloca %struct.Foo*
-// CHECK: [[D:%.*]] = alloca [[TYPE:void \(%struct.Foo\*\)]]**
-// CHECK: call void @{{.*make_pair.*}}(%struct.Pair* sret [[P]])
-// CHECK: [[FIRST:%.*]] = getelementptr inbounds %struct.Pair, %struct.Pair* 
[[P]], i32 0, i32 0
-// CHECK: store %struct.Foo* [[FIRST]], %struct.Foo** [[F]]
-// CHECK: [[SECOND:%.*]] = getelementptr inbounds %struct.Pair, %struct.Pair* 
[[P]], i32 0, i32 1
-// CHECK: store void (%struct.Foo*)** [[SECOND]], [[TYPE]]*** [[D]]
-// CHECK: [[R0:%.*]] = load [[TYPE]]**, [[TYPE]]*** [[D]]
-// CHECK: [[R1:%.*]] = load [[TYPE]]*, [[TYPE]]** [[R0]]
-// CHECK: [[R2:%.*]] = load %struct.Foo*, %struct.Foo** [[F]]
-// CHECK: call void [[R1]](%struct.Foo* dereferenceable({{[0-9]+}}) [[R2]])
-// CHECK: call void @{{.*Pair.*Foo.*}}(%struct.Pair* [[P]])
-


___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits