aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSandra Loosemore <sandra@codesourcery.com>2020-01-24 11:41:31 -0800
committerSandra Loosemore <sandra@codesourcery.com>2020-01-24 11:41:31 -0800
commit7c75a2a3bfdcc2fc792d730562c677d513347d1c (patch)
tree8e1b7b27be3824a4e600f96cee6e4f85db48562b /gcc
parent28a5d5c365044710ba32510b9bec67dd40562154 (diff)
downloadgcc-7c75a2a3bfdcc2fc792d730562c677d513347d1c.zip
gcc-7c75a2a3bfdcc2fc792d730562c677d513347d1c.tar.gz
gcc-7c75a2a3bfdcc2fc792d730562c677d513347d1c.tar.bz2
Add -fdelete-null-pointer-checks to some C++ testcases.
These testcases were failing on nios2-elf, which defaults to -fno-delete-null-pointer-checks. 2020-01-24 Sandra Loosemore <sandra@codesourcery.com> gcc/testsuite/ * g++.dg/cpp0x/constexpr-odr1.C: Add -fdelete-null-pointer-checks. * g++.dg/cpp0x/constexpr-odr2.C: Likewise. * g++.dg/cpp0x/nontype4.C: Likewise. * g++.dg/cpp1y/constexpr-new.C: Likewise. * g++.dg/cpp1y/new1.C: Likewise. * g++.dg/cpp1y/new2.C: Likewise. * g++.dg/cpp2a/constexpr-dynamic11.C: Likewise. * g++.dg/cpp2a/constexpr-dynamic17.C: Likewise. * g++.dg/cpp2a/constexpr-dynamic4.C: Likewise. * g++.dg/cpp2a/constexpr-new1.C: Likewise. * g++.dg/cpp2a/constexpr-new10.C: Likewise. * g++.dg/cpp2a/constexpr-new2.C: Likewise. * g++.dg/cpp2a/constexpr-new3.C: Likewise. * g++.dg/cpp2a/constexpr-new4.C: Likewise. * g++.dg/cpp2a/constexpr-new8.C: Likewise. * g++.dg/cpp2a/constexpr-new9.C: Likewise. * g++.dg/cpp2a/nontype-class1.C: Likewise.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog20
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-odr1.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-odr2.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nontype4.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/constexpr-new.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/new1.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/new2.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic11.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic17.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic4.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/constexpr-new1.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/constexpr-new10.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/constexpr-new2.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/constexpr-new3.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/constexpr-new4.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/constexpr-new8.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/constexpr-new9.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/nontype-class1.C1
18 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ed277a4..7c6b4cd 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,23 @@
+2020-01-24 Sandra Loosemore <sandra@codesourcery.com>
+
+ * g++.dg/cpp0x/constexpr-odr1.C: Add -fdelete-null-pointer-checks.
+ * g++.dg/cpp0x/constexpr-odr2.C: Likewise.
+ * g++.dg/cpp0x/nontype4.C: Likewise.
+ * g++.dg/cpp1y/constexpr-new.C: Likewise.
+ * g++.dg/cpp1y/new1.C: Likewise.
+ * g++.dg/cpp1y/new2.C: Likewise.
+ * g++.dg/cpp2a/constexpr-dynamic11.C: Likewise.
+ * g++.dg/cpp2a/constexpr-dynamic17.C: Likewise.
+ * g++.dg/cpp2a/constexpr-dynamic4.C: Likewise.
+ * g++.dg/cpp2a/constexpr-new1.C: Likewise.
+ * g++.dg/cpp2a/constexpr-new10.C: Likewise.
+ * g++.dg/cpp2a/constexpr-new2.C: Likewise.
+ * g++.dg/cpp2a/constexpr-new3.C: Likewise.
+ * g++.dg/cpp2a/constexpr-new4.C: Likewise.
+ * g++.dg/cpp2a/constexpr-new8.C: Likewise.
+ * g++.dg/cpp2a/constexpr-new9.C: Likewise.
+ * g++.dg/cpp2a/nontype-class1.C: Likewise.
+
2020-01-24 Jason Merrill <jason@redhat.com>
* lib/target-supports.exp (check_effective_target_unsigned_char):
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-odr1.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-odr1.C
index cf3f95f..d00baae 100644
--- a/gcc/testsuite/g++.dg/cpp0x/constexpr-odr1.C
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-odr1.C
@@ -1,5 +1,6 @@
// PR c++/92062 - ODR-use ignored for static member of class template.
// { dg-do run { target c++11 } }
+// { dg-additional-options "-fdelete-null-pointer-checks" }
template<int> struct A {
static const bool x;
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-odr2.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-odr2.C
index 0927488..dd569a9 100644
--- a/gcc/testsuite/g++.dg/cpp0x/constexpr-odr2.C
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-odr2.C
@@ -1,5 +1,6 @@
// PR c++/92062 - ODR-use ignored for static member of class template.
// { dg-do run { target c++11 } }
+// { dg-additional-options "-fdelete-null-pointer-checks" }
template<int> struct A {
static const bool x;
diff --git a/gcc/testsuite/g++.dg/cpp0x/nontype4.C b/gcc/testsuite/g++.dg/cpp0x/nontype4.C
index 2c552d0..b6a1ae7 100644
--- a/gcc/testsuite/g++.dg/cpp0x/nontype4.C
+++ b/gcc/testsuite/g++.dg/cpp0x/nontype4.C
@@ -1,5 +1,6 @@
// PR c++/56428
// { dg-do compile { target c++11 } }
+// { dg-additional-options "-fdelete-null-pointer-checks" }
struct A { };
diff --git a/gcc/testsuite/g++.dg/cpp1y/constexpr-new.C b/gcc/testsuite/g++.dg/cpp1y/constexpr-new.C
index 6316ff2..d0ca0b7 100644
--- a/gcc/testsuite/g++.dg/cpp1y/constexpr-new.C
+++ b/gcc/testsuite/g++.dg/cpp1y/constexpr-new.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++14 } }
+// { dg-additional-options "-fdelete-null-pointer-checks" }
constexpr int *f4(bool b) {
if (b) {
diff --git a/gcc/testsuite/g++.dg/cpp1y/new1.C b/gcc/testsuite/g++.dg/cpp1y/new1.C
index b9ad64d..7016951 100644
--- a/gcc/testsuite/g++.dg/cpp1y/new1.C
+++ b/gcc/testsuite/g++.dg/cpp1y/new1.C
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-cddce-details" } */
+// { dg-additional-options "-fdelete-null-pointer-checks" }
#include <stdlib.h>
diff --git a/gcc/testsuite/g++.dg/cpp1y/new2.C b/gcc/testsuite/g++.dg/cpp1y/new2.C
index 926e796..97f4001 100644
--- a/gcc/testsuite/g++.dg/cpp1y/new2.C
+++ b/gcc/testsuite/g++.dg/cpp1y/new2.C
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -std=c++17 -fdump-tree-cddce-details" } */
+/* { dg-additional-options "-fdelete-null-pointer-checks" } */
#include <cstdio>
#include <cstdlib>
diff --git a/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic11.C b/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic11.C
index 6069fbf..8dfa03a 100644
--- a/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic11.C
+++ b/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic11.C
@@ -1,5 +1,6 @@
// PR c++/88337 - Implement P1327R1: Allow dynamic_cast/typeid in constexpr.
// { dg-do compile { target c++2a } }
+// { dg-additional-options "-fdelete-null-pointer-checks" }
// dynamic_cast in a constructor.
// [class.cdtor]#6: "If the operand of the dynamic_cast refers to the object
diff --git a/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic17.C b/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic17.C
index 6b443d2..c574e75 100644
--- a/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic17.C
+++ b/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic17.C
@@ -1,5 +1,6 @@
// PR c++/88337 - Implement P1327R1: Allow dynamic_cast/typeid in constexpr.
// { dg-do compile { target c++2a } }
+// { dg-additional-options "-fdelete-null-pointer-checks" }
// dynamic_cast in a constructor.
// [class.cdtor]#6: "If the operand of the dynamic_cast refers to the object
diff --git a/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic4.C b/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic4.C
index 3adc524..6f42d20 100644
--- a/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic4.C
+++ b/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic4.C
@@ -1,5 +1,6 @@
// PR c++/88337 - Implement P1327R1: Allow dynamic_cast/typeid in constexpr.
// { dg-do compile { target c++2a } }
+// { dg-additional-options "-fdelete-null-pointer-checks" }
// From clang's constant-expression-cxx2a.cpp.
diff --git a/gcc/testsuite/g++.dg/cpp2a/constexpr-new1.C b/gcc/testsuite/g++.dg/cpp2a/constexpr-new1.C
index 873edd4..5d1b7ef 100644
--- a/gcc/testsuite/g++.dg/cpp2a/constexpr-new1.C
+++ b/gcc/testsuite/g++.dg/cpp2a/constexpr-new1.C
@@ -1,5 +1,6 @@
// P0784R7
// { dg-do compile { target c++2a } }
+// { dg-additional-options "-fdelete-null-pointer-checks" }
struct S { constexpr S () : s (5) {} constexpr S (int x) : s (x) {} int s; };
diff --git a/gcc/testsuite/g++.dg/cpp2a/constexpr-new10.C b/gcc/testsuite/g++.dg/cpp2a/constexpr-new10.C
index 500a324..bc5e6e5 100644
--- a/gcc/testsuite/g++.dg/cpp2a/constexpr-new10.C
+++ b/gcc/testsuite/g++.dg/cpp2a/constexpr-new10.C
@@ -1,5 +1,6 @@
// PR c++/91369
// { dg-do compile { target c++2a } }
+// { dg-additional-options "-fdelete-null-pointer-checks" }
struct S {
constexpr S (int* i) : s{i} {}
diff --git a/gcc/testsuite/g++.dg/cpp2a/constexpr-new2.C b/gcc/testsuite/g++.dg/cpp2a/constexpr-new2.C
index be54962..d3733e8 100644
--- a/gcc/testsuite/g++.dg/cpp2a/constexpr-new2.C
+++ b/gcc/testsuite/g++.dg/cpp2a/constexpr-new2.C
@@ -1,5 +1,6 @@
// P0784R7
// { dg-do compile { target c++2a } }
+// { dg-additional-options "-fdelete-null-pointer-checks" }
template <int N>
constexpr bool
diff --git a/gcc/testsuite/g++.dg/cpp2a/constexpr-new3.C b/gcc/testsuite/g++.dg/cpp2a/constexpr-new3.C
index 3380df7..6e7880a 100644
--- a/gcc/testsuite/g++.dg/cpp2a/constexpr-new3.C
+++ b/gcc/testsuite/g++.dg/cpp2a/constexpr-new3.C
@@ -1,5 +1,6 @@
// P0784R7
// { dg-do compile { target c++2a } }
+// { dg-additional-options "-fdelete-null-pointer-checks" }
constexpr int *
f1 ()
diff --git a/gcc/testsuite/g++.dg/cpp2a/constexpr-new4.C b/gcc/testsuite/g++.dg/cpp2a/constexpr-new4.C
index 6cac983..b9bd5ea 100644
--- a/gcc/testsuite/g++.dg/cpp2a/constexpr-new4.C
+++ b/gcc/testsuite/g++.dg/cpp2a/constexpr-new4.C
@@ -1,5 +1,6 @@
// P0784R7
// { dg-do compile { target c++2a } }
+// { dg-additional-options "-fdelete-null-pointer-checks" }
struct S
{
diff --git a/gcc/testsuite/g++.dg/cpp2a/constexpr-new8.C b/gcc/testsuite/g++.dg/cpp2a/constexpr-new8.C
index c9c852d..f13da10 100644
--- a/gcc/testsuite/g++.dg/cpp2a/constexpr-new8.C
+++ b/gcc/testsuite/g++.dg/cpp2a/constexpr-new8.C
@@ -1,5 +1,6 @@
// PR c++/91369
// { dg-do compile { target c++2a } }
+// { dg-additional-options "-fdelete-null-pointer-checks" }
struct A {
constexpr A () : p{new int} {}
diff --git a/gcc/testsuite/g++.dg/cpp2a/constexpr-new9.C b/gcc/testsuite/g++.dg/cpp2a/constexpr-new9.C
index 552d3c1..f99f080 100644
--- a/gcc/testsuite/g++.dg/cpp2a/constexpr-new9.C
+++ b/gcc/testsuite/g++.dg/cpp2a/constexpr-new9.C
@@ -1,5 +1,6 @@
// PR c++/91369
// { dg-do compile { target c++2a } }
+// { dg-additional-options "-fdelete-null-pointer-checks" }
struct S {
constexpr S (int *i) : i{i} {}
diff --git a/gcc/testsuite/g++.dg/cpp2a/nontype-class1.C b/gcc/testsuite/g++.dg/cpp2a/nontype-class1.C
index 0c0b94d..a3334fc 100644
--- a/gcc/testsuite/g++.dg/cpp2a/nontype-class1.C
+++ b/gcc/testsuite/g++.dg/cpp2a/nontype-class1.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++2a } }
+// { dg-additional-options "-fdelete-null-pointer-checks" }
struct A
{