blob: cf3f95f0565c30de0d62f382c9eab8e584956108 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
// PR c++/92062 - ODR-use ignored for static member of class template.
// { dg-do run { target c++11 } }
template<int> struct A {
static const bool x;
static_assert(&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 ();
}
|