diff options
author | Marek Polacek <polacek@redhat.com> | 2019-01-02 17:07:02 +0000 |
---|---|---|
committer | Marek Polacek <mpolacek@gcc.gnu.org> | 2019-01-02 17:07:02 +0000 |
commit | 905969f941d0428665ab2ff1c0826f60b5e41073 (patch) | |
tree | 43e6f5393fe9f7f069d1f4468062c37a9b79a6af /gcc | |
parent | b3e2dc1ed96ff476ed880f151331237c64f9bfe7 (diff) | |
download | gcc-905969f941d0428665ab2ff1c0826f60b5e41073.zip gcc-905969f941d0428665ab2ff1c0826f60b5e41073.tar.gz gcc-905969f941d0428665ab2ff1c0826f60b5e41073.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp1y/lambda-generic-86875.C | 21 |
2 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 782b3d2..23691cd 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -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 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 0000000..3a81b00 --- /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 <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(); +} |