aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin v. Löwis <loewis@gcc.gnu.org>1998-07-15 14:38:06 +0000
committerMartin v. Löwis <loewis@gcc.gnu.org>1998-07-15 14:38:06 +0000
commit2d2ad82da4fdd52b434a7202f77a63ebc330366d (patch)
treec859b15f3715f36484bae0e8368f5b6e0b7c8f07
parent2077e863e2ef50252c88f8278548673e919583bc (diff)
downloadgcc-2d2ad82da4fdd52b434a7202f77a63ebc330366d.zip
gcc-2d2ad82da4fdd52b434a7202f77a63ebc330366d.tar.gz
gcc-2d2ad82da4fdd52b434a7202f77a63ebc330366d.tar.bz2
Add aliases in nested blocks
From-SVN: r21197
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/alias6.C25
1 files changed, 22 insertions, 3 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/alias6.C b/gcc/testsuite/g++.old-deja/g++.ns/alias6.C
index 130d51e..b0799ab 100644
--- a/gcc/testsuite/g++.old-deja/g++.ns/alias6.C
+++ b/gcc/testsuite/g++.old-deja/g++.ns/alias6.C
@@ -1,16 +1,35 @@
+// Check namespace aliases inside blocks
namespace A {
int i;
- void f(){}
+ void f(){
+ i = 0;
+ }
}
-main ()
+int g();
+
+int main ()
{
namespace B = A;
B::i=42;
B::f();
using namespace B;
f();
+ // A::i is now 0, B::i is 1
+ return g();
}
-namespace B {}
+namespace B {
+ int i = 1;
+}
+int g()
+{
+ namespace x = A;
+ if (x::i)
+ {
+ namespace x = B;
+ return x::i;
+ }
+ return x::i;
+}