Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/torture/pr87997.C @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 1830386684a0 |
children |
line wrap: on
line source
/* { dg-do compile } */ template <typename, typename> struct a; template <template <typename> class b, typename c, typename f, typename... d> struct a<b<f, d...>, c> { using e = b<c>; }; template <typename f> class h { public: typedef f g; }; template <typename j, typename c> using k = typename a<j, c>::e; template <typename j> struct l { template <typename f> using m = k<j, f>; }; template <typename j> struct n { typedef typename j::g o; template <typename f> struct p { typedef typename l<j>::template m<f> other; }; }; template <typename f, typename j> struct F { typedef typename n<j>::template p<f>::other q; }; template <typename f, typename j = h<f>> class r { public: typename n<typename F<f, j>::q>::o operator[](long); f *t() noexcept; }; class s { void m_fn2(); r<int (s::*)()> u; }; void s::m_fn2() try { for (int i;;) (this->*u[i])(); } catch (...) { }