re PR c++/56643 (Failure to match noexcept specifier of friend template function...
authorPaolo Carlini <paolo.carlini@oracle.com>
Thu, 4 Apr 2019 15:15:59 +0000 (15:15 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Thu, 4 Apr 2019 15:15:59 +0000 (15:15 +0000)
2019-04-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/56643
* g++.dg/cpp0x/noexcept40.C: New.

From-SVN: r270144

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

index 06aedbcc7a9ef948f8474c58d8c150738b86dde7..1195c4339eb53ebd624ec5d31a786612d10593c8 100644 (file)
@@ -1,3 +1,8 @@
+2019-04-04  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/56643
+       * g++.dg/cpp0x/noexcept40.C: New.
+
 2019-04-03  Dominique d'Humieres  <dominiq@gcc.gnu.org>
 
        PR fortran/68567
diff --git a/gcc/testsuite/g++.dg/cpp0x/noexcept40.C b/gcc/testsuite/g++.dg/cpp0x/noexcept40.C
new file mode 100644 (file)
index 0000000..2effcef
--- /dev/null
@@ -0,0 +1,17 @@
+// PR c++/56643
+// { dg-do compile { target c++11 } }
+
+template <int N>
+struct Test {
+    template <int M>
+    friend void test(Test<M>& arg) noexcept(M == 0);
+};
+
+template <int N>
+void test(Test<N>& arg) noexcept(N == 0) {}
+
+int main() {
+    Test<0> t;
+    test(t);
+    return 0;
+}