(linenum→info "unix/slp.c:2238")

glibc/2.7/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: }
Syntax (Markdown)