summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-09-08 13:25:35 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2014-09-08 13:25:35 +0100
commit66bb34c0907f2dc731ae8a69424ff224090e73e5 (patch)
treee1ade5d91e8aa1cba8b8bc27ce1506044e9c2dcf /gcc
parent9686a2e668aad033ef12b48c2d1e7f1ce6796838 (diff)
downloadgcc-66bb34c0907f2dc731ae8a69424ff224090e73e5.tar.gz
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')
-rw-r--r--gcc/ChangeLog15
-rw-r--r--gcc/c-family/ChangeLog5
-rw-r--r--gcc/c-family/c-cppbuiltin.c14
-rw-r--r--gcc/config/i386/cygming.h1
-rw-r--r--gcc/config/i386/darwin.h1
-rw-r--r--gcc/config/i386/dragonfly.h1
-rw-r--r--gcc/config/i386/freebsd.h1
-rw-r--r--gcc/config/i386/gnu-user-common.h1
-rw-r--r--gcc/config/i386/openbsdelf.h1
-rw-r--r--gcc/config/i386/sol2.h1
-rw-r--r--gcc/config/ia64/hpux.h2
-rw-r--r--gcc/config/ia64/linux.h1
-rw-r--r--gcc/doc/tm.texi14
-rw-r--r--gcc/doc/tm.texi.in14
-rw-r--r--gcc/system.h2
15 files changed, 35 insertions, 39 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4d882a16691..33b106b6296 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,20 @@
2014-09-08 Joseph Myers <joseph@codesourcery.com>
+ * 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.
+
+2014-09-08 Joseph Myers <joseph@codesourcery.com>
+
* defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO):
Remove.
* doc/tm.texi.in (ROUND_TOWARDS_ZERO, LARGEST_EXPONENT_IS_NORMAL):
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 38330fb9c8a..7768555e473 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,8 @@
+2014-09-08 Joseph Myers <joseph@codesourcery.com>
+
+ * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
+ digits of floating-point modes if -fbuilding-libgcc.
+
2014-09-05 Joseph Myers <joseph@codesourcery.com>
* c-cppbuiltin.c (c_cpp_builtins): Also define
diff --git a/gcc/c-family/c-cppbuiltin.c b/gcc/c-family/c-cppbuiltin.c
index a47473534b5..411ca194ada 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);
diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h
index 039edccb979..98d652be5ee 100644
--- a/gcc/config/i386/cygming.h
+++ b/gcc/config/i386/cygming.h
@@ -343,7 +343,6 @@ do { \
#undef LIBGCC2_HAS_TF_MODE
#define LIBGCC2_HAS_TF_MODE 1
#define LIBGCC2_TF_CEXT q
-#define TF_SIZE 113
/* Output function declarations at the end of the file. */
#undef TARGET_ASM_FILE_END
diff --git a/gcc/config/i386/darwin.h b/gcc/config/i386/darwin.h
index a85aa42d5fc..f6a5b6b0e97 100644
--- a/gcc/config/i386/darwin.h
+++ b/gcc/config/i386/darwin.h
@@ -157,7 +157,6 @@ extern int darwin_emit_branch_islands;
#undef LIBGCC2_HAS_TF_MODE
#define LIBGCC2_HAS_TF_MODE 1
#define LIBGCC2_TF_CEXT q
-#define TF_SIZE 113
#undef TARGET_ASM_FILE_END
#define TARGET_ASM_FILE_END darwin_file_end
diff --git a/gcc/config/i386/dragonfly.h b/gcc/config/i386/dragonfly.h
index 71362d58e32..ed5f508f7ed 100644
--- a/gcc/config/i386/dragonfly.h
+++ b/gcc/config/i386/dragonfly.h
@@ -93,7 +93,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#undef LIBGCC2_HAS_TF_MODE
#define LIBGCC2_HAS_TF_MODE 1
#define LIBGCC2_TF_CEXT q
-#define TF_SIZE 113
/* Static stack checking is supported by means of probes. */
#define STACK_CHECK_STATIC_BUILTIN 1
diff --git a/gcc/config/i386/freebsd.h b/gcc/config/i386/freebsd.h
index bdca1b80b27..25ab5468d99 100644
--- a/gcc/config/i386/freebsd.h
+++ b/gcc/config/i386/freebsd.h
@@ -135,7 +135,6 @@ along with GCC; see the file COPYING3. If not see
#undef LIBGCC2_HAS_TF_MODE
#define LIBGCC2_HAS_TF_MODE 1
#define LIBGCC2_TF_CEXT q
-#define TF_SIZE 113
/* Static stack checking is supported by means of probes. */
#define STACK_CHECK_STATIC_BUILTIN 1
diff --git a/gcc/config/i386/gnu-user-common.h b/gcc/config/i386/gnu-user-common.h
index b34528217f1..e01491a4737 100644
--- a/gcc/config/i386/gnu-user-common.h
+++ b/gcc/config/i386/gnu-user-common.h
@@ -61,7 +61,6 @@ along with GCC; see the file COPYING3. If not see
#undef LIBGCC2_HAS_TF_MODE
#define LIBGCC2_HAS_TF_MODE 1
#define LIBGCC2_TF_CEXT q
-#define TF_SIZE 113
#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
diff --git a/gcc/config/i386/openbsdelf.h b/gcc/config/i386/openbsdelf.h
index 46ae0b6cdad..06913eb2b2e 100644
--- a/gcc/config/i386/openbsdelf.h
+++ b/gcc/config/i386/openbsdelf.h
@@ -116,4 +116,3 @@ along with GCC; see the file COPYING3. If not see
#undef LIBGCC2_HAS_TF_MODE
#define LIBGCC2_HAS_TF_MODE 1
#define LIBGCC2_TF_CEXT q
-#define TF_SIZE 113
diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h
index 9c3a6f49662..5c9232360d1 100644
--- a/gcc/config/i386/sol2.h
+++ b/gcc/config/i386/sol2.h
@@ -241,4 +241,3 @@ along with GCC; see the file COPYING3. If not see
#undef LIBGCC2_HAS_TF_MODE
#define LIBGCC2_HAS_TF_MODE 1
#define LIBGCC2_TF_CEXT q
-#define TF_SIZE 113
diff --git a/gcc/config/ia64/hpux.h b/gcc/config/ia64/hpux.h
index 0261c7096af..f19e6b38dc1 100644
--- a/gcc/config/ia64/hpux.h
+++ b/gcc/config/ia64/hpux.h
@@ -192,12 +192,10 @@ do { \
/* Put all *xf routines in libgcc, regardless of long double size. */
#undef LIBGCC2_HAS_XF_MODE
#define LIBGCC2_HAS_XF_MODE 1
-#define XF_SIZE 64
/* Put all *tf routines in libgcc, regardless of long double size. */
#undef LIBGCC2_HAS_TF_MODE
#define LIBGCC2_HAS_TF_MODE 1
-#define TF_SIZE 113
/* HP-UX headers are C++-compatible. */
#define NO_IMPLICIT_EXTERN_C
diff --git a/gcc/config/ia64/linux.h b/gcc/config/ia64/linux.h
index e4a3ea750c0..61138c828f3 100644
--- a/gcc/config/ia64/linux.h
+++ b/gcc/config/ia64/linux.h
@@ -81,7 +81,6 @@ do { \
#define LIBGCC2_HAS_TF_MODE 1
#undef LIBGCC2_TF_CEXT
#define LIBGCC2_TF_CEXT q
-#define TF_SIZE 113
#undef TARGET_INIT_LIBFUNCS
#define TARGET_INIT_LIBFUNCS ia64_soft_fp_init_libfuncs
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index 904ee5af3ef..53c33e50a58 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -1581,20 +1581,6 @@ uses this macro should also arrange to use @file{t-gnu-prefix} in
the libgcc @file{config.host}.
@end defmac
-@defmac SF_SIZE
-@defmacx DF_SIZE
-@defmacx XF_SIZE
-@defmacx TF_SIZE
-Define these macros to be the size in bits of the mantissa of
-@code{SFmode}, @code{DFmode}, @code{XFmode} and @code{TFmode} values,
-if the defaults in @file{libgcc2.h} are inappropriate. By default,
-@code{FLT_MANT_DIG} is used for @code{SF_SIZE}, @code{LDBL_MANT_DIG}
-for @code{XF_SIZE} and @code{TF_SIZE}, and @code{DBL_MANT_DIG} or
-@code{LDBL_MANT_DIG} for @code{DF_SIZE} according to whether
-@code{DOUBLE_TYPE_SIZE} or
-@code{LIBGCC2_LONG_DOUBLE_TYPE_SIZE} is 64.
-@end defmac
-
@defmac TARGET_FLT_EVAL_METHOD
A C expression for the value for @code{FLT_EVAL_METHOD} in @file{float.h},
assuming, if applicable, that the floating-point control word is in its
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
index 50d1ac1cff8..57cf92b90fe 100644
--- a/gcc/doc/tm.texi.in
+++ b/gcc/doc/tm.texi.in
@@ -1423,20 +1423,6 @@ uses this macro should also arrange to use @file{t-gnu-prefix} in
the libgcc @file{config.host}.
@end defmac
-@defmac SF_SIZE
-@defmacx DF_SIZE
-@defmacx XF_SIZE
-@defmacx TF_SIZE
-Define these macros to be the size in bits of the mantissa of
-@code{SFmode}, @code{DFmode}, @code{XFmode} and @code{TFmode} values,
-if the defaults in @file{libgcc2.h} are inappropriate. By default,
-@code{FLT_MANT_DIG} is used for @code{SF_SIZE}, @code{LDBL_MANT_DIG}
-for @code{XF_SIZE} and @code{TF_SIZE}, and @code{DBL_MANT_DIG} or
-@code{LDBL_MANT_DIG} for @code{DF_SIZE} according to whether
-@code{DOUBLE_TYPE_SIZE} or
-@code{LIBGCC2_LONG_DOUBLE_TYPE_SIZE} is 64.
-@end defmac
-
@defmac TARGET_FLT_EVAL_METHOD
A C expression for the value for @code{FLT_EVAL_METHOD} in @file{float.h},
assuming, if applicable, that the floating-point control word is in its
diff --git a/gcc/system.h b/gcc/system.h
index a1e89f4fb22..692e67e4215 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -935,7 +935,7 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
EXTRA_CONSTRAINT_STR EXTRA_MEMORY_CONSTRAINT \
EXTRA_ADDRESS_CONSTRAINT CONST_DOUBLE_OK_FOR_CONSTRAINT_P \
CALLER_SAVE_PROFITABLE LARGEST_EXPONENT_IS_NORMAL \
- ROUND_TOWARDS_ZERO
+ ROUND_TOWARDS_ZERO SF_SIZE DF_SIZE XF_SIZE TF_SIZE
/* Hooks that are no longer used. */
#pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \