
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.
20 lines
462 B
C
20 lines
462 B
C
// 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;
|
|
enum { force_instantiation =! &x}; // odr-uses A<...>::x
|
|
};
|
|
|
|
int g;
|
|
|
|
template<int I>
|
|
const bool A<I>::x = (g = 42, false);
|
|
|
|
void f(A<0>) {} // A<0> must be complete, so is instantiated
|
|
int main()
|
|
{
|
|
if (g != 42)
|
|
__builtin_abort ();
|
|
}
|