old-cross-binutils/gdb/testsuite/gdb.cp/local.cc

67 lines
773 B
C++
Raw Normal View History

// 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();
}
}