From: hjl Date: Fri, 16 Oct 2015 20:03:17 +0000 (+0000) Subject: Fix def_test_returning_type in iamcu/test_basic_returning.c X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f8614f07680c101044b5475bd323e5f70e0ebecc;p=thirdparty%2Fgcc.git Fix def_test_returning_type in iamcu/test_basic_returning.c Use union to check float return bits to avoid converting from integer to float when comparing float return value. * gcc.target/i386/iamcu/test_basic_returning.c (def_test_returning_type): Use union to check float return bits. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228924 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f56798cb9259..90a2c66865b0 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-10-16 H.J. Lu + + * gcc.target/i386/iamcu/test_basic_returning.c + (def_test_returning_type): Use union to check float return bits. + 2015-10-16 H.J. Lu * gcc.target/i386/iamcu/test_basic_64bit_returning.c (main): diff --git a/gcc/testsuite/gcc.target/i386/iamcu/test_basic_returning.c b/gcc/testsuite/gcc.target/i386/iamcu/test_basic_returning.c index 23efa6e5c01c..e617d8dfc828 100644 --- a/gcc/testsuite/gcc.target/i386/iamcu/test_basic_returning.c +++ b/gcc/testsuite/gcc.target/i386/iamcu/test_basic_returning.c @@ -39,7 +39,10 @@ fun_test_returning_float (void) #define def_test_returning_type(fun, type, ret, reg) \ { type var = WRAP_RET (fun) (); \ - assert (ret == (type) reg && ret == var); } + union { type r; unsigned long reg; } u; \ + u.reg = reg; \ + assert (ret == u.r && ret == var); } + int main (void) {