blob: 84dd634d9cff6b67c3a05dcaca93bcc98be9aa8f [file] [log] [blame]
// 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" void printf (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 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;
}