// { 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;
}
