binutils-gdb/gdb/testsuite/gdb.cp/nsusing.cc

140 lines
1.3 KiB
C++

namespace M
{
int x = 911;
}
namespace N
{
int x = 912;
}
int marker10 ()
{
using namespace M;
int y = x + 1; // marker10 stop
using namespace N;
return y;
}
namespace J
{
int jx = 44;
}
namespace K
{
int marker9 ()
{
//x;
return marker10 ();
}
}
namespace L
{
using namespace J;
int marker8 ()
{
jx;
return K::marker9 ();
}
}
namespace G
{
namespace H
{
int ghx = 6;
}
}
namespace I
{
int marker7 ()
{
using namespace G::H;
ghx;
return L::marker8 ();
}
}
namespace E
{
namespace F
{
int efx = 5;
}
}
using namespace E::F;
int marker6 ()
{
efx;
return I::marker7 ();
}
namespace A
{
int _a = 1;
int x = 2;
}
namespace C
{
int cc = 3;
}
namespace D
{
int dx = 4;
}
using namespace C;
int marker5 ()
{
cc;
return marker6 ();
}
int marker4 ()
{
using D::dx;
return marker5 ();
}
int marker3 ()
{
return marker4 ();
}
int marker2 ()
{
namespace B = A;
B::_a;
return marker3 ();
}
int marker1 ()
{
int total = 0;
{
int b = 1;
{
using namespace A;
int c = 2;
{
int d = 3;
total = _a + b + c + d + marker2 (); // marker1 stop
}
}
}
return marker2 () + total;
}
int main ()
{
using namespace A;
_a;
return marker1 ();
}