blob: 0a788d11650955d88fe6ca64b970978d8d491eb1 (
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
|
/* PR target/39082 */
/* { dg-do compile } */
/* { dg-require-effective-target lp64 } */
/* { dg-options "-O2" } */
union un
{
long double x;
int i;
};
extern int bar1 (union un);
extern union un bar2 (int);
int
foo1 (union un u)
{
bar1 (u);
return u.i;
}
int
foo2 (void)
{
union un u;
u.i = 1;
return foo1 (u) + bar1 (u);
}
int
foo3 (int x)
{
union un u = bar2 (x); /* { dg-message "note: the ABI of passing union with long double has changed in GCC 4.4" } */
return u.i;
}
|