diff options
author | Joseph Myers <joseph@codesourcery.com> | 2014-09-08 13:25:35 +0100 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2014-09-08 13:25:35 +0100 |
commit | 66bb34c0907f2dc731ae8a69424ff224090e73e5 (patch) | |
tree | e1ade5d91e8aa1cba8b8bc27ce1506044e9c2dcf /gcc/c-family/c-cppbuiltin.c | |
parent | 9686a2e668aad033ef12b48c2d1e7f1ce6796838 (diff) | |
download | gcc-66bb34c0907f2dc731ae8a69424ff224090e73e5.zip gcc-66bb34c0907f2dc731ae8a69424ff224090e73e5.tar.gz gcc-66bb34c0907f2dc731ae8a69424ff224090e73e5.tar.bz2 |
Remove SF_SIZE etc. target macros.
gcc:
* config/i386/cygming.h (TF_SIZE): Remove.
* config/i386/darwin.h (TF_SIZE): Remove.
* config/i386/dragonfly.h (TF_SIZE): Remove.
* config/i386/freebsd.h (TF_SIZE): Remove.
* config/i386/gnu-user-common.h (TF_SIZE): Remove.
* config/i386/openbsdelf.h (TF_SIZE): Remove.
* config/i386/sol2.h (TF_SIZE): Remove.
* config/ia64/hpux.h (XF_SIZE, TF_SIZE): Remove.
* config/ia64/linux.h (TF_SIZE): Remove.
* doc/tm.texi.in (SF_SIZE, DF_SIZE, XF_SIZE, TF_SIZE): Remove.
* doc/tm.texi: Regenerate.
* system.h (SF_SIZE, DF_SIZE, XF_SIZE, TF_SIZE): Poison.
gcc/c-family:
* c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
digits of floating-point modes if -fbuilding-libgcc.
libgcc:
* libgcc2.c (SF_SIZE): Change all uses to __LIBGCC_SF_MANT_DIG__.
(DF_SIZE): Change all uses to __LIBGCC_DF_MANT_DIG__.
(XF_SIZE): Change all uses to __LIBGCC_XF_MANT_DIG__.
(TF_SIZE): Change all uses to __LIBGCC_TF_MANT_DIG__.
* libgcc2.h (SF_SIZE): Change to __LIBGCC_SF_MANT_DIG__. Give
error if not defined and LIBGCC2_HAS_SF_MODE is defined.
(DF_SIZE): Change to __LIBGCC_DF_MANT_DIG__. Give error if not
defined and LIBGCC2_HAS_DF_MODE is defined.
(XF_SIZE): Change to __LIBGCC_XF_MANT_DIG__. Give error if not
defined and LIBGCC2_HAS_XF_MODE is defined.
(TF_SIZE): Change to __LIBGCC_TF_MANT_DIG__. Give error if not
defined and LIBGCC2_HAS_TF_MODE is defined.
From-SVN: r215014
Diffstat (limited to 'gcc/c-family/c-cppbuiltin.c')
-rw-r--r-- | gcc/c-family/c-cppbuiltin.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/c-family/c-cppbuiltin.c b/gcc/c-family/c-cppbuiltin.c index a474735..411ca19 100644 --- a/gcc/c-family/c-cppbuiltin.c +++ b/gcc/c-family/c-cppbuiltin.c @@ -944,6 +944,20 @@ c_cpp_builtins (cpp_reader *pfile) /* For libgcc-internal use only. */ if (flag_building_libgcc) { + /* Properties of floating-point modes for libgcc2.c. */ + for (enum machine_mode mode = GET_CLASS_NARROWEST_MODE (MODE_FLOAT); + mode != VOIDmode; + mode = GET_MODE_WIDER_MODE (mode)) + { + const char *name = GET_MODE_NAME (mode); + char *macro_name + = (char *) alloca (strlen (name) + + sizeof ("__LIBGCC__MANT_DIG__")); + sprintf (macro_name, "__LIBGCC_%s_MANT_DIG__", name); + builtin_define_with_int_value (macro_name, + REAL_MODE_FORMAT (mode)->p); + } + /* For libgcc crtstuff.c and libgcc2.c. */ builtin_define_with_int_value ("__LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__", EH_TABLES_CAN_BE_READ_ONLY); |