old-cross-binutils/gdb/testsuite/gdb.cp/local.cc
Michael Chastain 1105b7eff4 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.
2003-08-23 03:55:59 +00:00

66 lines
773 B
C++

// Tests for local types
void marker1 (void)
{
}
void marker2 (void)
{
}
int foobar (int x)
{
class Local {
public:
int loc1;
char loc_foo (char c)
{
return c + 3;
}
};
Local l;
static Local l1;
char c;
marker1 ();
l.loc1 = 23;
c = l.loc_foo('x');
return c + 2;
}
int main()
{
int c;
c = foobar (31);
{ // inner block
class InnerLocal {
public:
char ilc;
int * ip;
int il_foo (unsigned const char & uccr)
{
return uccr + 333;
}
class NestedInnerLocal {
public:
int nil;
int nil_foo (int i)
{
return i * 27;
}
};
NestedInnerLocal nest1;
};
InnerLocal il;
il.ilc = 'b';
il.ip = &c;
marker2();
}
}