forked from Imagelibrary/binutils-gdb
2003-08-22 Michael Chastain <mec@shout.net>
* gdb.cp: New directory. * gdb.cp/*: Copy from gdb.c++/*. * gdb.c++/*: Remove. * Makefile.in: Change gdb.c++ to gdb.cp. * configure.in: Ditto. * configure: Regnerate.
This commit is contained in:
163
gdb/testsuite/gdb.cp/namespace.cc
Normal file
163
gdb/testsuite/gdb.cp/namespace.cc
Normal file
@@ -0,0 +1,163 @@
|
||||
namespace AAA {
|
||||
char c;
|
||||
int i;
|
||||
int A_xyzq (int);
|
||||
char xyzq (char);
|
||||
class inA {
|
||||
public:
|
||||
int xx;
|
||||
int fum (int);
|
||||
};
|
||||
};
|
||||
|
||||
int AAA::inA::fum (int i)
|
||||
{
|
||||
return 10 + i;
|
||||
}
|
||||
|
||||
namespace BBB {
|
||||
char c;
|
||||
int i;
|
||||
int B_xyzq (int);
|
||||
char xyzq (char);
|
||||
|
||||
namespace CCC {
|
||||
char xyzq (char);
|
||||
};
|
||||
|
||||
class Class {
|
||||
public:
|
||||
char xyzq (char);
|
||||
int dummy;
|
||||
};
|
||||
};
|
||||
|
||||
int AAA::A_xyzq (int x)
|
||||
{
|
||||
return 2 * x;
|
||||
}
|
||||
|
||||
char AAA::xyzq (char c)
|
||||
{
|
||||
return 'a';
|
||||
}
|
||||
|
||||
|
||||
int BBB::B_xyzq (int x)
|
||||
{
|
||||
return 3 * x;
|
||||
}
|
||||
|
||||
char BBB::xyzq (char c)
|
||||
{
|
||||
return 'b';
|
||||
}
|
||||
|
||||
char BBB::CCC::xyzq (char c)
|
||||
{
|
||||
return 'z';
|
||||
}
|
||||
|
||||
char BBB::Class::xyzq (char c)
|
||||
{
|
||||
return 'o';
|
||||
}
|
||||
|
||||
void marker1(void)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
namespace
|
||||
{
|
||||
int X = 9;
|
||||
|
||||
namespace G
|
||||
{
|
||||
int Xg = 10;
|
||||
}
|
||||
}
|
||||
|
||||
namespace C
|
||||
{
|
||||
int c = 1;
|
||||
int shadow = 12;
|
||||
|
||||
namespace
|
||||
{
|
||||
int cX = 6;
|
||||
|
||||
namespace F
|
||||
{
|
||||
int cXf = 7;
|
||||
}
|
||||
}
|
||||
|
||||
namespace C
|
||||
{
|
||||
int cc = 2;
|
||||
}
|
||||
|
||||
namespace D
|
||||
{
|
||||
int cd = 3;
|
||||
int shadow = 13;
|
||||
|
||||
namespace E
|
||||
{
|
||||
int cde = 5;
|
||||
}
|
||||
|
||||
void marker2 (void)
|
||||
{
|
||||
// NOTE: carlton/2003-04-23: I'm listing the expressions that I
|
||||
// plan to have GDB try to print out, just to make sure that the
|
||||
// compiler and I agree which ones should be legal! It's easy
|
||||
// to screw up when testing the boundaries of namespace stuff.
|
||||
c;
|
||||
//cc;
|
||||
C::cc;
|
||||
cd;
|
||||
E::cde;
|
||||
shadow;
|
||||
cX;
|
||||
F::cXf;
|
||||
X;
|
||||
G::Xg;
|
||||
//cXOtherFile;
|
||||
//XOtherFile;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
int main ()
|
||||
{
|
||||
using AAA::inA;
|
||||
char c1;
|
||||
|
||||
using namespace BBB;
|
||||
|
||||
c1 = xyzq ('x');
|
||||
c1 = AAA::xyzq ('x');
|
||||
c1 = BBB::CCC::xyzq ('m');
|
||||
|
||||
inA ina;
|
||||
|
||||
ina.xx = 33;
|
||||
|
||||
int y;
|
||||
|
||||
y = AAA::A_xyzq (33);
|
||||
y += B_xyzq (44);
|
||||
|
||||
BBB::Class cl;
|
||||
|
||||
c1 = cl.xyzq('e');
|
||||
|
||||
marker1();
|
||||
|
||||
C::D::marker2 ();
|
||||
}
|
||||
Reference in New Issue
Block a user