(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
execute/
20030125-1.c
       1  /* Verify whether math functions are simplified.  */
       2  /* { dg-require-effective-target c99_runtime } */
       3  /* { dg-require-weak "" } */
       4  double sin(double);
       5  double floor(double);
       6  float 
       7  t(float a)
       8  {
       9  	return sin(a);
      10  }
      11  float 
      12  q(float a)
      13  {
      14  	return floor(a);
      15  }
      16  double
      17  q1(float a)
      18  {
      19  	return floor(a);
      20  }
      21  main()
      22  {
      23  #ifdef __OPTIMIZE__
      24  	if (t(0)!=0)
      25  		abort ();
      26  	if (q(0)!=0)
      27  		abort ();
      28  	if (q1(0)!=0)
      29  		abort ();
      30  #endif
      31  	return 0;
      32  }
      33  __attribute__ ((weak))
      34  double
      35  floor(double a)
      36  {
      37  	abort ();
      38  }
      39  __attribute__ ((weak))
      40  float
      41  floorf(float a)
      42  {
      43  	return a;
      44  }
      45  __attribute__ ((weak))
      46  double
      47  sin(double a)
      48  {
      49  	return a;
      50  }
      51  __attribute__ ((weak))
      52  float
      53  sinf(float a)
      54  {
      55  	abort ();
      56  }