old-cross-binutils/gdb/testsuite/gdb.c++/local.cc
Jim Blandy 6b5497864a * gdb.c++/local.exp: Don't expect Local to be in scope in main;
it's local to foobar.  Check for it there, and check that it's not
present in main.
* gdb.c++/local.cc (marker2): New function.
(foobar): Call marker1.
(main): Call marker2 instead of marker1.
2003-02-05 05:48:46 +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();
}
}