blob: 25715acabdd087e4c88cff657a0cddaef1aa1607 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
// { 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;
}
|