diff options
Diffstat (limited to 'math/bug-tgmath1.c')
-rw-r--r-- | math/bug-tgmath1.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/math/bug-tgmath1.c b/math/bug-tgmath1.c new file mode 100644 index 0000000000..8a457fa252 --- /dev/null +++ b/math/bug-tgmath1.c @@ -0,0 +1,33 @@ +#include <stdio.h> +#include <tgmath.h> + + +int +main (void) +{ + int retval = 0; + +#define TEST(expr, res) \ + if (sizeof (expr) != res) \ + { \ + printf ("sizeof(%s) == %zu, expected %zu\n", #expr, \ + sizeof (expr), (size_t) (res)); \ + retval = 1; \ + } + + TEST (creal (1.0), sizeof (double)); + TEST (creal (1.0 + 1.0i), sizeof (double)); + TEST (creal (1.0l), sizeof (long double)); + TEST (creal (1.0l + 1.0li), sizeof (long double)); + TEST (creal (1.0f), sizeof (float)); + TEST (creal (1.0f + 1.0fi), sizeof (float)); + + TEST (cimag (1.0), sizeof (double)); + TEST (cimag (1.0 + 1.0i), sizeof (double)); + TEST (cimag (1.0l), sizeof (long double)); + TEST (cimag (1.0l + 1.0li), sizeof (long double)); + TEST (cimag (1.0f), sizeof (float)); + TEST (cimag (1.0f + 1.0fi), sizeof (float)); + + return retval; +} |