From: mpolacek Date: Wed, 2 Jan 2019 17:07:02 +0000 (+0000) Subject: PR c++/86875 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ac7cf41b93117542baf2a3f3421a20507b4d9767;p=thirdparty%2Fgcc.git PR c++/86875 * g++.dg/cpp1y/lambda-generic-86875.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267519 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 782b3d26c19f..23691cd282de 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2019-01-02 Marek Polacek + + PR c++/86875 + * g++.dg/cpp1y/lambda-generic-86875.C: New test. + 2019-01-02 Thomas Koenig PR fortran/48543 diff --git a/gcc/testsuite/g++.dg/cpp1y/lambda-generic-86875.C b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-86875.C new file mode 100644 index 000000000000..3a81b00df963 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-86875.C @@ -0,0 +1,21 @@ +// PR c++/86875 +// { dg-do compile { target c++14 } } + +template using decay_t = _Tp; +template class A { + Fun fun_; + +public: + template A(T p1) : fun_(p1) {} + auto operator()() { fun_(this); } +}; + +template auto y_combinator(Fun p1) { return A>(p1); } + +int +main() +{ + const unsigned int w = 1; + auto foo = y_combinator([=](auto) { auto i = +w; }); + foo(); +}