--- /dev/null
+// Test that using an elaborated-type-specifier in a namespace to refer
+// to a class outside the namespace does not cause its name to be considered
+// declared in the namespace.
+
+// Contributed by Jason Merrill <jason@cygnus.com>
+// Build don't link:
+
+struct A { };
+
+int A;
+
+namespace N {
+ struct A *f ();
+}
+
+using namespace N;
+
+struct A *a;
--- /dev/null
+// Test that g++ allows friends to use private types in their declarations.
+// Build don't link:
+
+class A {
+ typedef int I;
+ friend I f (I);
+};
+
+A::I f (A::I);
+A::I f (A::I) { return 0; }
--- /dev/null
+// Bug: g++ thought this was a redeclaration of a local variable.
+// Build don't link:
+
+int i;
+int main ()
+{
+ extern int i;
+}