blob: 25715acabdd087e4c88cff657a0cddaef1aa1607 [file] [log] [blame]
// { dg-do run }
// { dg-options "-O2" }
// Origin: suckfish@ihug.co.nz
// DECLARATIONS
struct Record {
Record (int bb) :
b (bb)
{ }
int extra; // Having an extra member in record is crucial.
int b;
};
struct Container {
Record record;
// The const on the next line is crucial.
Container ( const Record b) : record(b) {}
};
// TEST FOR CORRECT BEHAVIOR
int myArray[3];
int * intp = myArray;
void use_pair (const Container & c)
{
*intp++ = c.record.b;
}
extern "C" int printf (const char *,...);
int main()
{
use_pair (Container (1234));
if (myArray[0] != 1234)
return 1;
}