gcc/gcc/testsuite/g++.dg/cpp0x/constexpr-odr2.C
Sandra Loosemore 7c75a2a3bf 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.
2020-01-24 11:41:31 -08:00

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 ();
}