aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp2a/using-enum-10a.C
blob: daa3221b77aac35cd3912fb3e5cb554efc387c30 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// A version of using-enum-10.C where Hog is a template.
// PR c++/103081
// { dg-do compile { target c++20 } }

enum class Pig { OINK };

template<int>
struct Hog {
  using enum Pig;
  Hog(Pig) { OINK; }
};

template<int N>
void pen() {
  Hog<1>(Hog<1>::OINK);
  Hog<N>(Hog<N>::OINK);
}

template void pen<0>();