Problems with <tgmath.h>

Daniel Jacobowitz drow@false.org
Tue Dec 14 15:35:00 GMT 1999


(Actually also with <bits/mathdef.h> and <math.h>)

I ran in to two problems today.  The first is that if both <math.h> and
<complex.h> are included, the multiple inclusion of <bits/mathdef.h>
causes float_t and double_t to get typedef'd twice, producing a
warning.

More troublesome: <tgmath.h> generates calls to func, funcf, and funcl
for each math function, but without __USE_MISC || __USE_ISOC9X, funcf
does not get defined.  Also, funcl does not get defined if
-D__NO_LONG_DOUBLE_MATH, which is always set on powerpc, at least.

This produces wrong output from calling trunc() on a float without
__USE_MISC || __USE_ISOC9X, because the float is converted incorrectly.

Dan

/--------------------------------\  /--------------------------------\
|       Daniel Jacobowitz        |__|        SCS Class of 2002       |
|   Debian GNU/Linux Developer    __    Carnegie Mellon University   |
|         dan@debian.org         |  |       dmj+@andrew.cmu.edu      |
\--------------------------------/  \--------------------------------/


More information about the Libc-alpha mailing list