diff options
author | Joseph Myers <joseph@codesourcery.com> | 2013-11-04 15:39:57 +0000 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2013-11-04 15:39:57 +0000 |
commit | 9193fb05957b1602d175e8aef0a09bd4c4251d82 (patch) | |
tree | 8756f9f52a3c5e06a3012fe2ac067879d37c313e /gcc/target.def | |
parent | 411f1755096acb1655b2cb5ed45ffc8338919184 (diff) | |
download | gcc-9193fb05957b1602d175e8aef0a09bd4c4251d82.zip gcc-9193fb05957b1602d175e8aef0a09bd4c4251d82.tar.gz gcc-9193fb05957b1602d175e8aef0a09bd4c4251d82.tar.bz2 |
cpp.texi (__GCC_IEC_559, [...]): Document macros.
* doc/cpp.texi (__GCC_IEC_559, __GCC_IEC_559_COMPLEX): Document
macros.
* target.def (float_exceptions_rounding_supported_p): New hook.
* targhooks.c (default_float_exceptions_rounding_supported_p): New
function.
* targhooks.h (default_float_exceptions_rounding_supported_p):
Declare.
* doc/tm.texi.in (TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P):
New @hook.
* doc/tm.texi: Regenerate.
* config.gcc (powerpc*-*-linux*): Set extra_objs.
* config/rs6000/rs6000-linux.c: New file.
* config/rs6000/rs6000-protos.h
(rs6000_linux_float_exceptions_rounding_supported_p): Declare.
* config/rs6000/linux.h
(TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): New macro.
* config/rs6000/linux64.h
(TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): Likewise.
* config/rs6000/t-linux (rs6000-linux.o): New rule.
* config/rs6000/t-linux64 (rs6000-linux.o): Likewise.
c-family:
* c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
New functions.
(c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
testsuite:
* gcc.dg/iec-559-macros-1.c, gcc.dg/iec-559-macros-2.c,
gcc.dg/iec-559-macros-3.c, gcc.dg/iec-559-macros-4.c,
gcc.dg/iec-559-macros-5.c, gcc.dg/iec-559-macros-6.c,
gcc.dg/iec-559-macros-7.c, gcc.dg/iec-559-macros-8.c,
gcc.dg/iec-559-macros-9.c: New tests.
From-SVN: r204351
Diffstat (limited to 'gcc/target.def')
-rw-r--r-- | gcc/target.def | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/target.def b/gcc/target.def index cf3e2fd..3bbbbd3 100644 --- a/gcc/target.def +++ b/gcc/target.def @@ -1935,6 +1935,18 @@ DEFHOOK_UNDOC bool, (void), targhook_float_words_big_endian) +DEFHOOK +(float_exceptions_rounding_supported_p, + "Returns true if the target supports IEEE 754 floating-point exceptions\ + and rounding modes, false otherwise. This is intended to relate to the\ + @code{float} and @code{double} types, but not necessarily @code{long double}.\ + By default, returns true if the @code{adddf3} instruction pattern is\ + available and false otherwise, on the assumption that hardware floating\ + point supports exceptions and rounding modes but software floating point\ + does not.", + bool, (void), + default_float_exceptions_rounding_supported_p) + /* True if the target supports decimal floating point. */ DEFHOOK (decimal_float_supported_p, |