1/* { dg-options "-O1" } */ 2 3/* Check that the compiler uses builtins for signbit; if not the link 4 will fail because library functions are in libm. */ 5/* See PR51867. 6 Since GCC uses library call when optimizing for "-O0", this test 7 case requires at least "-O1" level optimization now. */ 8 9#include "dfp-dbg.h" 10 11volatile _Decimal32 sd = 2.3df; 12volatile _Decimal64 dd = -4.5dd; 13volatile _Decimal128 tf = 5.3dl; 14volatile float f = 1.2f; 15volatile double d = -7.8; 16volatile long double ld = 3.4L; 17 18EXTERN int signbitf (float); 19EXTERN int signbit (double); 20EXTERN int signbitl (long double); 21EXTERN int signbitd32 (_Decimal32); 22EXTERN int signbitd64 (_Decimal64); 23EXTERN int signbitd128 (_Decimal128); 24 25int 26main () 27{ 28 if (signbitf (f) != 0) FAILURE 29 if (signbit (d) == 0) FAILURE 30 if (signbitl (ld) != 0) FAILURE 31 if (signbitd32 (sd) != 0) FAILURE 32 if (signbitd64 (dd) == 0) FAILURE 33 if (signbitd128 (tf) != 0) FAILURE 34 35 FINISH 36} 37