aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo@gcc.gnu.org>2015-03-24 11:42:26 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2015-03-24 11:42:26 +0000
commit29ec68cb98fbf1eedfaead7afc7673e9cd229b24 (patch)
tree83ac7ffa6ebacbbf20d83733a2339018ef5e3303
parent4c5744b45389744648d4bc5d0fb4c5d137eb233e (diff)
downloadgcc-29ec68cb98fbf1eedfaead7afc7673e9cd229b24.zip
gcc-29ec68cb98fbf1eedfaead7afc7673e9cd229b24.tar.gz
gcc-29ec68cb98fbf1eedfaead7afc7673e9cd229b24.tar.bz2
re PR c++/60067 (bogus error default template arguments may not be used in function templates)
2015-03-24 Paolo Carlini <paolo.carlini@oracle.com> PR c++/60067 * g++.dg/template/defarg18.C: New. From-SVN: r221626
-rw-r--r--gcc/testsuite/g++.dg/template/defarg18.C15
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/template/defarg18.C b/gcc/testsuite/g++.dg/template/defarg18.C
new file mode 100644
index 0000000..ac08966
--- /dev/null
+++ b/gcc/testsuite/g++.dg/template/defarg18.C
@@ -0,0 +1,15 @@
+// PR c++/60067
+
+template <class> struct A;
+template <class> struct B { enum { v = 1 }; };
+
+template <class T = void (A<int>)>
+struct C {
+ void f () {
+ void g (int [B<T>::v]);
+ }
+};
+
+void foo (void) {
+ C<int>().f ();
+}