aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp23/class-deduction-inherited8.C
blob: 4494c701c3501c40bb435783d909ee366e18efc1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// PR c++/119687
// { dg-do compile { target c++17 } }

template <typename> class QFlagsStorage{};

template <typename Enum> struct QFlagsStorageHelper : QFlagsStorage<Enum>  {
  using QFlagsStorage<Enum>::QFlagsStorage;

public:
  QFlagsStorageHelper(Enum);
};

template <typename Enum> struct QFlags : public QFlagsStorageHelper<Enum> {
  using Base = QFlagsStorageHelper<Enum>;
  using Base::Base;
  QFlags(Enum);
};

void f(int flag) {
  QFlags{int{}};
}