Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/debug/pr80461.C @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line source
// PR debug/80461 // { dg-do compile } // { dg-options "-g -O" } template <typename> class A; struct B { template <typename T, typename U> static bool foo (U T::*) { return true; } }; template <typename, typename> class J; template <typename T, typename U, typename V, typename... W> class J<V (W...), U T::*> : public J<void(), U T::*> {}; template <typename T, typename U, typename... W> class J<void(W...), U T::*> : public B {}; template <typename V, typename... W> struct A<V (W...)> { template <typename, typename> using K = int; template <typename L, typename = K<int, void>, typename = K<int, void>> A (L); }; template <typename V, typename... W> template <typename L, typename, typename> A<V (W...)>::A (L x) { J<V (), L>::foo (x); } struct N; volatile int v; template <class O, class P> void bar () { O q; A<P> f = q; v++; } void baz () { bar<int (N::*) (...) &, int()> (); bar<int (N::*) (...) const &, int()> (); bar<int (N::*) (...) volatile &, int()> (); }