blob: a8c9aba3645134cbd799b2b6cee60fd18cdbbf2a [file] [log] [blame]
// { dg-do run }
// GROUPS passed code-generation
// Check that sub-word sized structs/classes are passed correctly
// if the struct/class has a constructor (i.e. ANY constructor).
extern "C" int printf (const char *, ...);
struct base {
unsigned int f1 : 8;
unsigned int f2 : 8;
base (int ii)
{
}
};
base global_base (7);
int test2 (base formal_base);
int main ()
{
global_base.f1 = 0x55;
global_base.f2 = 0xee;
if (test2 (global_base) == 0)
printf ("PASS\n");
else
{ printf ("FAIL\n"); return 1; }
return 0;
}
int test2 (base formal_base)
{
if (formal_base.f1 != global_base.f1)
return -1;
if (formal_base.f2 != global_base.f2)
return -1;
return 0;
}