summaryrefslogtreecommitdiffstats
path: root/share/man
diff options
context:
space:
mode:
authored <ed@FreeBSD.org>2012-01-05 10:46:22 +0000
committered <ed@FreeBSD.org>2012-01-05 10:46:22 +0000
commit3e678d58aa7b47e823702aead47cf69982d3d270 (patch)
tree0eed688597265ddb650f4370eac630aae7c6c4c7 /share/man
parentcbdad2302c0b444c8793270a01a683dff62d2397 (diff)
downloadFreeBSD-src-3e678d58aa7b47e823702aead47cf69982d3d270.zip
FreeBSD-src-3e678d58aa7b47e823702aead47cf69982d3d270.tar.gz
Reimplement <tgmath.h> on top of __generic().
The macro construction used now, is almost identical to the code provided in C11 proposal N1404. This new version doesn't seem to introduce any regressions according to the regression test in tools/, but still seems to malfunction with Clang on certain aspects. The new code does work successfully with GCC 4.2, 4.6 and 4.7. With 4.7, it also works when __generic() is implemented on top of _Generic(). Discussed with: stefanf
Diffstat (limited to 'share/man')
-rw-r--r--share/man/man3/tgmath.321
1 files changed, 15 insertions, 6 deletions
diff --git a/share/man/man3/tgmath.3 b/share/man/man3/tgmath.3
index f8faf26..e86b141 100644
--- a/share/man/man3/tgmath.3
+++ b/share/man/man3/tgmath.3
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd August 14, 2004
+.Dd January 4, 2012
.Dt TGMATH 3
.Os
.Sh NAME
@@ -139,15 +139,24 @@ The header
.In tgmath.h
first appeared in
.Fx 5.3 .
-.Sh BUGS
-The header
+.Sh COMPILER SUPPORT
+Before
+.St -isoC-11 ,
+the header
.In tgmath.h
-cannot be implemented with strictly conforming C code and needs
+could not be implemented with strictly conforming C code and needed
special compiler support.
-The current implementation only works for GCC.
-.Pp
+As of
+.St -isoC-11 ,
+this header file can be implemented using the
+.Fn _Generic
+language keyword.
+In addition to compilers that support this keyword, this header file
+works with GCC.
+.Sh BUGS
Many of the functions mentioned here are not prototyped in
.In math.h
or
.In complex.h
as they are not yet implemented.
+This prevents the corresponding type-generic macro from working at all.
OpenPOWER on IntegriCloud