re PR c++/86875 (ICE in tsubst_copy, at cp/pt.c:15478)

PR c++/86875
	* g++.dg/cpp1y/lambda-generic-86875.C: New test.

From-SVN: r267519
This commit is contained in:
Marek Polacek 2019-01-02 17:07:02 +00:00 committed by Marek Polacek
parent b3e2dc1ed9
commit 905969f941
2 changed files with 26 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2019-01-02 Marek Polacek <polacek@redhat.com>
PR c++/86875
* g++.dg/cpp1y/lambda-generic-86875.C: New test.
2019-01-02 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/48543

View File

@ -0,0 +1,21 @@
// PR c++/86875
// { dg-do compile { target c++14 } }
template <typename _Tp> using decay_t = _Tp;
template <class Fun> class A {
Fun fun_;
public:
template <class T> A(T p1) : fun_(p1) {}
auto operator()() { fun_(this); }
};
template <class Fun> auto y_combinator(Fun p1) { return A<decay_t<Fun>>(p1); }
int
main()
{
const unsigned int w = 1;
auto foo = y_combinator([=](auto) { auto i = +w; });
foo();
}