(root)/
glibc-2.38/
math/
bug-tgmath1.c
       1  #include <stdio.h>
       2  #include <tgmath.h>
       3  
       4  
       5  int
       6  main (void)
       7  {
       8    int retval = 0;
       9  
      10  #define TEST(expr, res) \
      11    if (sizeof (expr) != res)						      \
      12      {									      \
      13        printf ("sizeof(%s) == %zu, expected %zu\n", #expr,		      \
      14  	      sizeof (expr), (size_t) (res));				      \
      15        retval = 1;								      \
      16      }
      17  
      18    TEST (creal (1.0), sizeof (double));
      19    TEST (creal (1.0 + 1.0i), sizeof (double));
      20    TEST (creal (1.0l), sizeof (long double));
      21    TEST (creal (1.0l + 1.0li), sizeof (long double));
      22    TEST (creal (1.0f), sizeof (float));
      23    TEST (creal (1.0f + 1.0fi), sizeof (float));
      24  
      25    TEST (cimag (1.0), sizeof (double));
      26    TEST (cimag (1.0 + 1.0i), sizeof (double));
      27    TEST (cimag (1.0l), sizeof (long double));
      28    TEST (cimag (1.0l + 1.0li), sizeof (long double));
      29    TEST (cimag (1.0f), sizeof (float));
      30    TEST (cimag (1.0f + 1.0fi), sizeof (float));
      31  
      32    TEST (fabs (1.0), sizeof (double));
      33    TEST (fabs (1.0 + 1.0i), sizeof (double));
      34    TEST (fabs (1.0l), sizeof (long double));
      35    TEST (fabs (1.0l + 1.0li), sizeof (long double));
      36    TEST (fabs (1.0f), sizeof (float));
      37    TEST (fabs (1.0f + 1.0fi), sizeof (float));
      38  
      39    TEST (carg (1.0), sizeof (double));
      40    TEST (carg (1.0 + 1.0i), sizeof (double));
      41    TEST (carg (1.0l), sizeof (long double));
      42    TEST (carg (1.0l + 1.0li), sizeof (long double));
      43    TEST (carg (1.0f), sizeof (float));
      44    TEST (carg (1.0f + 1.0fi), sizeof (float));
      45  
      46    return retval;
      47  }