re PR c++/83644 (ICE using type alias from recursive decltype in noexcept or return...
authorMarek Polacek <polacek@redhat.com>
Tue, 2 Jan 2018 17:02:14 +0000 (17:02 +0000)
committerMarek Polacek <mpolacek@gcc.gnu.org>
Tue, 2 Jan 2018 17:02:14 +0000 (17:02 +0000)
PR c++/83644
* g++.dg/cpp1z/pr83644.C: New test.

From-SVN: r256082

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp1z/pr83644.C [new file with mode: 0644]

index 9b88e6c05e38426df11d6595626f7b488e32b63c..b8dbee01f92808d7846177e914bebe20147baa62 100644 (file)
@@ -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 (file)
index 0000000..493d8c7
--- /dev/null
@@ -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); }