From: Mark Mitchell Date: Mon, 12 Jun 2006 22:26:00 +0000 (+0000) Subject: ctor6.C, [...]: New. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dfa9dde4e03150d4df95bbcfc8121b52cac401c6;p=gcc.git ctor6.C, [...]: New. * g++.dg/parse/ctor6.C, g++.dg/parse/defarg11.C, g++.dg/template/friend42.C, g++.dg/template/spec30.C: New. Co-Authored-By: Kazu Hirata From-SVN: r114585 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4b23d39c35c..9274cbd3ea2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2006-06-12 Mark Mitchell + Kazu Hirata + + * g++.dg/parse/ctor6.C, g++.dg/parse/defarg11.C, + g++.dg/template/friend42.C, g++.dg/template/spec30.C: New. + 2006-06-12 Volker Reichelt PR c++/27933 diff --git a/gcc/testsuite/g++.dg/parse/ctor6.C b/gcc/testsuite/g++.dg/parse/ctor6.C new file mode 100644 index 00000000000..0b14ecc6eb2 --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/ctor6.C @@ -0,0 +1,11 @@ +// { dg-do compile } + +// There is no ambiguity in finding a right constructor for X b(a). + +class X { +public: + X(const X&, int = 3); +}; + +extern X a; +X b(a); diff --git a/gcc/testsuite/g++.dg/parse/defarg11.C b/gcc/testsuite/g++.dg/parse/defarg11.C new file mode 100644 index 00000000000..5628aa01bff --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/defarg11.C @@ -0,0 +1,9 @@ +// { dg-do compile } +// { dg-options "-pedantic" } + +class foo { +public: + void operator& (int = 1); // { dg-error "default argument" } + void operator++ (int = 2); // { dg-error "default argument" } + void operator-- (int = 3); // { dg-error "default argument" } +}; diff --git a/gcc/testsuite/g++.dg/template/friend42.C b/gcc/testsuite/g++.dg/template/friend42.C new file mode 100644 index 00000000000..73d10df0112 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/friend42.C @@ -0,0 +1,8 @@ +// { dg-do compile } + +template void foo (int); + +template +class Q { + friend void foo (int = 3); // { dg-error "default argument" } +}; diff --git a/gcc/testsuite/g++.dg/template/spec30.C b/gcc/testsuite/g++.dg/template/spec30.C new file mode 100644 index 00000000000..403b812f3e1 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/spec30.C @@ -0,0 +1,15 @@ +// { dg-do compile } + +template +inline int +foo (int a) +{ + return a; +} + +template<> +inline int +foo<0> (int a = 123) // { dg-error "default argument" } +{ + return a + 1; +}