summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
authordas <das@FreeBSD.org>2004-07-09 03:31:09 +0000
committerdas <das@FreeBSD.org>2004-07-09 03:31:09 +0000
commit5ef7c3d0ff72cc97a9a5ed0935c3a12630e46b1b (patch)
tree2311c766ba494bef231b5ec04144f485e361a912 /lib/libc
parent84763ddc9b3b7797533208d1b8039e002036c017 (diff)
downloadFreeBSD-src-5ef7c3d0ff72cc97a9a5ed0935c3a12630e46b1b.zip
FreeBSD-src-5ef7c3d0ff72cc97a9a5ed0935c3a12630e46b1b.tar.gz
Define the following macros in terms of [gi]cc builtins when the
builtins are available: HUGE_VAL, HUGE_VALF, HUGE_VALL, INFINITY, and NAN. These macros now expand to floating-point constant expressions rather than external references, as required by C99. Other compilers will retain the historical behavior. Note that it is not possible say, e.g. #define HUGE_VAL 1.0e9999 because the above may result in diagnostics at translation time and spurious exceptions at runtime. Hence the need for compiler support for these features. Also use builtins to implement the macros isgreater(), isgreaterequal(), isless(), islessequal(), islessgreater(), and isunordered() when such builtins are available. Although the old macros are correct, the builtin versions are much faster, and they avoid double-expansion problems.
Diffstat (limited to 'lib/libc')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud