From: Maarten Lankhorst Date: Sun, 23 May 2010 06:51:50 +0000 (+0200) Subject: re PR target/43869 (ms_abi -> sysv_abi passing float arguments incorrectly) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6f1dba7b780b89d973a51288baeebe379cd201a3;p=gcc.git re PR target/43869 (ms_abi -> sysv_abi passing float arguments incorrectly) 2010-05-23 Naarten Lankhorst PR target/43869 * gcc.c-target/pr43869.c: New test. From-SVN: r159754 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6c31ffb7acc..72bfa53df9c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-05-23 Naarten Lankhorst + + PR target/43869 + * gcc.c-target/pr43869.c: New test. + 2010-05-22 Janus Weil PR fortran/44212 diff --git a/gcc/testsuite/gcc.target/i386/pr43869.c b/gcc/testsuite/gcc.target/i386/pr43869.c new file mode 100644 index 00000000000..806d68ae0cf --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr43869.c @@ -0,0 +1,20 @@ +/* { dg-require-effective-target lp64 } */ +/* { dg-do run } */ + +int __attribute__((__noinline__)) +bugged(float f1, float f2, float f3, float f4, + float f5, float f6, float f7, float f8) +{ + return f1 || f2 || f3 || f4 || f5 != 1. || f6 != 1. || f7 != 1. || f8 != 1.; +} + +int __attribute__((__noinline__, __ms_abi__)) isbugged(void) +{ + return bugged(0, 0, 0, 0, 1., 1., 1., 1.); +} + +int main() +{ + return isbugged(); +} +