diff options
author | Sandra Loosemore <sandra@codesourcery.com> | 2020-01-24 11:41:31 -0800 |
---|---|---|
committer | Sandra Loosemore <sandra@codesourcery.com> | 2020-01-24 11:41:31 -0800 |
commit | 7c75a2a3bfdcc2fc792d730562c677d513347d1c (patch) | |
tree | 8e1b7b27be3824a4e600f96cee6e4f85db48562b | |
parent | 28a5d5c365044710ba32510b9bec67dd40562154 (diff) | |
download | gcc-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.
-rw-r--r-- | gcc/testsuite/ChangeLog | 20 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/constexpr-odr1.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/constexpr-odr2.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/nontype4.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp1y/constexpr-new.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp1y/new1.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp1y/new2.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic11.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic17.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic4.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp2a/constexpr-new1.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp2a/constexpr-new10.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp2a/constexpr-new2.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp2a/constexpr-new3.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp2a/constexpr-new4.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp2a/constexpr-new8.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp2a/constexpr-new9.C | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp2a/nontype-class1.C | 1 |
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 { |