From 19333f700395dd63c5507534e6a9b23035a82864 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Fri, 5 Jun 1998 02:32:42 +0000 Subject: [PATCH] x From-SVN: r20237 --- gcc/cp/ChangeLog | 4 +++ gcc/testsuite/g++.old-deja/g++.ns/alias3.C | 30 +++++++++++++++++++++ gcc/testsuite/g++.old-deja/g++.ns/alias4.C | 13 +++++++++ gcc/testsuite/g++.old-deja/g++.ns/koenig2.C | 13 ++++----- gcc/testsuite/g++.old-deja/g++.ns/using3.C | 2 ++ gcc/testsuite/g++.old-deja/g++.other/new2.C | 13 +++++---- 6 files changed, 62 insertions(+), 13 deletions(-) create mode 100644 gcc/testsuite/g++.old-deja/g++.ns/alias3.C create mode 100644 gcc/testsuite/g++.old-deja/g++.ns/alias4.C diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c340bdba5b6..6456a8e3219 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +1998-06-05 Jason Merrill + + * error.c (cp_printers): Use 'o' instead of '_' for the null entry. + 1998-06-05 Martin v. Loewis * cp-tree.h (DECL_NAMESPACE_ALIAS, ORIGINAL_NAMESPACE): Declare. diff --git a/gcc/testsuite/g++.old-deja/g++.ns/alias3.C b/gcc/testsuite/g++.old-deja/g++.ns/alias3.C new file mode 100644 index 00000000000..3b8de0cf1a3 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.ns/alias3.C @@ -0,0 +1,30 @@ +namespace A{ + struct X{}; + void f(X&); + extern int i; + namespace a_very_long_namespace_name{ + int k; + } +} + +namespace B = A; +namespace B = A; +namespace B = B; + +namespace avl = A::a_very_long_namespace_name; + +void B::f(A::X& x) +{ + B::f(x); + f(x); + avl::k = 1; +} + +int B::i = 0; + +int main() +{ + B::X x; + if (B::i) + A::f(x); +} diff --git a/gcc/testsuite/g++.old-deja/g++.ns/alias4.C b/gcc/testsuite/g++.old-deja/g++.ns/alias4.C new file mode 100644 index 00000000000..16c4dca02d4 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.ns/alias4.C @@ -0,0 +1,13 @@ +namespace A = B; // ERROR - unknown namespace + +namespace C{} +namespace D = C; +namespace D { // ERROR - reopening namespace with alias + void f(); +} + +void C::f(){} // ERROR - previous definition + +void D::f(){} // ERROR - redefinition + +namespace E = C::F; // ERROR - unknown namespace diff --git a/gcc/testsuite/g++.old-deja/g++.ns/koenig2.C b/gcc/testsuite/g++.old-deja/g++.ns/koenig2.C index c9df60cc976..629cd388af8 100644 --- a/gcc/testsuite/g++.old-deja/g++.ns/koenig2.C +++ b/gcc/testsuite/g++.old-deja/g++.ns/koenig2.C @@ -1,9 +1,10 @@ -//Build don't link: -//Check association of {error} for Koenig lookup -class QString { }; +// Build don't link: +// Check association of {error} for Koenig lookup +// Special g++ Options: + +struct QString { operator void * (); }; int foo() { - QString bar; - if (bar == __null ) { - } + QString bar; + return (bar == __null ); } diff --git a/gcc/testsuite/g++.old-deja/g++.ns/using3.C b/gcc/testsuite/g++.old-deja/g++.ns/using3.C index e179f313d1c..a8c1761f6f5 100644 --- a/gcc/testsuite/g++.old-deja/g++.ns/using3.C +++ b/gcc/testsuite/g++.old-deja/g++.ns/using3.C @@ -1,3 +1,5 @@ +// Build don't link: + typedef unsigned int atypedef; struct astruct{}; void afunction(); diff --git a/gcc/testsuite/g++.old-deja/g++.other/new2.C b/gcc/testsuite/g++.old-deja/g++.other/new2.C index 6861c4d30f8..88cbe0ae0a1 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/new2.C +++ b/gcc/testsuite/g++.old-deja/g++.other/new2.C @@ -8,15 +8,14 @@ struct X{ }; -void f(X *x = new X); // ERROR - +void f(X *x = new X); // ERROR - -void f(X *x = new X(4)); // ERROR - +void f(X *x = new X(4)); // ERROR - -void f(X *x = new X[4]); // ERROR - +void f(X *x = new X[4]); // ERROR - -void f(X *x = new (3) X(6)); // ERROR - +void f(X *x = new (3) X(6)); // ERROR - -void f(X *x = new (2) X[10]); // ERROR - - -void f(X *x = new X[10][5]); // ERROR - +void f(X *x = new (2) X[10]); // ERROR - +void f(X *x = new X[10][5]); // ERROR - -- 2.30.2