// Check namespace aliases inside blocks
namespace A { 
  int i;
  void f(){
    i = 0;
  }
}

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 {
  int i = 1;
}

int g()
{
  namespace x = A;
  if (x::i)
  {
    namespace x = B;
    return x::i;
  }
  return x::i;
}
