Stop only if there aren't any usable algorithms
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / pr39082-1.c
blob36d566dc160ba5f1f931070c5ed5e5e0a7896c0b
1 /* PR target/39082 */
2 /* { dg-do compile { target { ! { ia32 } } } } */
3 /* { dg-options "-O2" } */
4 /* { dg-additional-options "-mabi=sysv" { target x86_64-*-mingw* } } */
6 union un
8 long double x;
9 int i;
12 extern int bar1 (union un);
13 extern union un bar2 (int);
15 int
16 foo1 (union un u) /* { dg-message "note: the ABI of passing union with long double has changed in GCC 4.4" } */
18 bar1 (u);
19 return u.i;
22 int
23 foo2 (void)
25 union un u;
26 u.i = 1;
27 return foo1 (u) + bar1 (u);
30 int
31 foo3 (int x)
33 union un u = bar2 (x);
34 return u.i;