blob: 564761fe7a5f25ddda0ddf3f219ab85afb9bcfb5 [file] [log] [blame]
/* Radar 5636185 */
/* { dg-do compile { target *-*-darwin* } } */
/* { dg-options "-O0 -gdwarf-2 -dA -c -Wno-deprecated-declarations" } */
/* { dg-final { scan-assembler "DW_AT_MIPS_linkage_name" } } */
/* { dg-final { scan-assembler "_Z7marker1v" } } */
/* { dg-final { scan-assembler "_Z7marker2v" } } */
/* { dg-final { scan-assembler "_Z6foobari" } } */
/* { dg-final { scan-assembler-not "_ZZ4mainEN10InnerLocal16NestedInnerLocal7nil_fooEi" } } */
/* { dg-final { scan-assembler-not "_ZZ4mainEN10InnerLocal6il_fooERKh" } } */
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();
}
}