Do not use fabsl() in float2.c test
authorYuriy Kolerov <yuriy.kolerov@synopsys.com>
Fri, 29 Jul 2016 18:01:38 +0000 (21:01 +0300)
committerYuriy Kolerov <yuriy.kolerov@synopsys.com>
Fri, 29 Jul 2016 18:05:22 +0000 (21:05 +0300)
Some targets may support long double variables but in the same
time may lack support of long double functions like fabsl().

Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
testsuite/libffi.call/float2.c

index 20a8c40..d583e22 100644 (file)
@@ -22,6 +22,7 @@ int main (void)
   void *values[MAX_ARGS];
   float f;
   long double ld;
+  long double original;
 
   args[0] = &ffi_type_float;
   values[0] = &f;
@@ -49,7 +50,8 @@ int main (void)
 #endif
 
   /* These are not always the same!! Check for a reasonable delta */
-  if (fabsl(ld - ldblit(f)) < LDBL_EPSILON)
+  original = ldblit(f);
+  if (((ld > original) ? (ld - original) : (original - ld)) < LDBL_EPSILON)
     puts("long double return value tests ok!");
   else
     CHECK(0);