(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
c99-contract-1.c
       1  /* Test floating-point contraction occurs only within source language
       2     expressions.  */
       3  /* { dg-do run } */
       4  /* { dg-options "-std=c99 -pedantic-errors" } */
       5  /* { dg-skip-if "ptx only loosely follows IEEE" { "nvptx-*-*" } } */
       6  
       7  extern void abort (void);
       8  extern void exit (int);
       9  
      10  volatile float a = 1 + 0x1p-23f, b = 1 - 0x1p-23f, c = -1;
      11  
      12  int
      13  main (void)
      14  {
      15    float av = a, bv = b, cv = c;
      16    float p = av * bv;
      17    float r = p + cv;
      18    if (r == 0)
      19      exit (0);
      20    else
      21      abort ();
      22  }