1 /* { dg-do compile } */
2 /* { dg-options "-w -O2 -fno-exceptions -std=c++11 -fpermissive" } */
5 template <typename b, b c> struct d { static constexpr b e = c; };
6 template <typename> struct f : d<bool, __is_trivially_copyable(int)> {};
9 template <typename> struct h { static const bool e = a::f<int>::e; };
11 template <typename> struct ah;
12 template <typename> class ai;
16 operator[](long) const {}
18 template <typename, int> class am : public i {};
20 class k : public am<a::ai<an>, h<a::ai<a::ah<an>>>::e> {};
28 virtual bool av(int, unsigned &, at &, int &, g &, bool);
32 typedef m *aw(const &, int &, const &, const &);
37 template <class az> struct n {
39 static m *ba(const &bb, int &bc, const &bd, const &be) { az(bb, bc, bd, be); }
43 unsigned bi(const at &, l &);
44 bool av(int, unsigned &, at &, int &, g &, bool);
47 G(const, int, const, const) {}
50 bool G::av(int, unsigned &, at &bl, int &, g &, bool) {
58 unsigned G::bi(const at &bl, l &bo) {
60 for (char *j;; j += 2)