From dd2ce397d384339105cfc8f122e52b3c89778d05 Mon Sep 17 00:00:00 2001 From: Marek Polacek <polacek@redhat.com> Date: Tue, 2 Jan 2018 17:02:14 +0000 Subject: [PATCH] re PR c++/83644 (ICE using type alias from recursive decltype in noexcept or return type) PR c++/83644 * g++.dg/cpp1z/pr83644.C: New test. From-SVN: r256082 --- gcc/testsuite/ChangeLog | 3 +++ gcc/testsuite/g++.dg/cpp1z/pr83644.C | 12 ++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 gcc/testsuite/g++.dg/cpp1z/pr83644.C diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9b88e6c05e38..b8dbee01f928 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -3,6 +3,9 @@ PR c++/81860 * g++.dg/cpp0x/inh-ctor30.C: New test. + PR c++/83644 + * g++.dg/cpp1z/pr83644.C: New test. + 2018-01-01 Paul Thomas <pault@gcc.gnu.org> PR fortran/83076 diff --git a/gcc/testsuite/g++.dg/cpp1z/pr83644.C b/gcc/testsuite/g++.dg/cpp1z/pr83644.C new file mode 100644 index 000000000000..493d8c7cbe46 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp1z/pr83644.C @@ -0,0 +1,12 @@ +// PR c++/83644 +// { dg-do compile } +// { dg-options -std=c++17 } + +namespace std { +template <typename> bool is_invocable_v; +} +template <typename F> auto compose(F) { + [](auto... objs) noexcept(std::is_invocable_v<decltype(objs)...>){}; +} + +auto f() { compose(3); } -- GitLab