diff options
author | Mark Mitchell <mark@codesourcery.com> | 2006-06-12 22:26:00 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2006-06-12 22:26:00 +0000 |
commit | dfa9dde4e03150d4df95bbcfc8121b52cac401c6 (patch) | |
tree | 9f9df706cf7c9597ec5622cacd1feb52309abdc9 | |
parent | ff8fe3e0add95082795509f0ecf2e4c25e0f9b99 (diff) | |
download | gcc-dfa9dde4e03150d4df95bbcfc8121b52cac401c6.zip gcc-dfa9dde4e03150d4df95bbcfc8121b52cac401c6.tar.gz gcc-dfa9dde4e03150d4df95bbcfc8121b52cac401c6.tar.bz2 |
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 <kazu@codesourcery.com>
From-SVN: r114585
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/parse/ctor6.C | 11 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/parse/defarg11.C | 9 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/friend42.C | 8 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/spec30.C | 15 |
5 files changed, 49 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4b23d39..9274cbd 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2006-06-12 Mark Mitchell <mark@codesourcery.com> + Kazu Hirata <kazu@codesourcery.com> + + * 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 <reichelt@igpm.rwth-aachen.de> 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 0000000..0b14ecc --- /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 0000000..5628aa0 --- /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 0000000..73d10df --- /dev/null +++ b/gcc/testsuite/g++.dg/template/friend42.C @@ -0,0 +1,8 @@ +// { dg-do compile } + +template <class T> void foo (int); + +template <class T> +class Q { + friend void foo<T> (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 0000000..403b812 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/spec30.C @@ -0,0 +1,15 @@ +// { dg-do compile } + +template<int N> +inline int +foo (int a) +{ + return a; +} + +template<> +inline int +foo<0> (int a = 123) // { dg-error "default argument" } +{ + return a + 1; +} |