bug-tgmath1.c 1.4 KB

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