aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp2a/constinit12.C
blob: faa1b430cee96b3266a002f3d2e9b8b27e8b9bcf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// PR c++/91360 - Implement C++20 P1143R2: constinit
// { dg-do compile { target c++20 } }

struct S {
  S(int) { }
};

template <class T>
struct U {
  T m;
  constexpr U(int i) : m(i) { } // { dg-error "call to non-.constexpr. function" "" { target { ! implicit_constexpr } } }
};

constinit U<S> u(42); // { dg-error "does not have a constant initializer|called in a constant expression" "" { target { ! implicit_constexpr } } }