// { dg-do assemble } // Build don't link // Check [namespace.memdef]/2 namespace A{ void f(int); void f(int,int); int i; // { dg-message "" } .* } void A::f(){} // { dg-error "" } should have been declared before namespace B{ void A::f(int){} // { dg-error "" } B does not surround A } int A::i; // { dg-error "" } redefinition void A::f(int,int){} // ok