view gcc/testsuite/g++.dg/torture/pr53161.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 04ced10e8804
children
line wrap: on
line source

/* { dg-options "-std=c++11" } */
void gg();
static __typeof(gg) __gthrw_gg __attribute__((__weakref__("gg")));

template<typename R,typename... A>
struct data {
 template<typename Y,typename X>
 data(Y& y,R(X::*f)(A...));
};

template<typename Y,typename X,typename R,typename... A>
data<R,A...> make_data(Y& y,R(X::*f)(A...)) {
 return data<R,A...>(y,f);
}

void global(data<void>);

struct test {
 void bar() {}
 void doit() { global(make_data(*this,&test::bar)); }
};