diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1be3f95da3ff16bdf3609e6bbf5272804cf87ff7..c451a7eac1ca0329e4c72d051d6112f70d31afe6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2006-01-03 Ben Elliston <bje@au.ibm.com> + + * targhooks.h (default_decimal_float_supported_p): Declare. + * targhooks.c (default_decimal_float_supported_p): Define. + * target-def.h (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Redefine to + `default_decimal_float_supported_p'. + * doc/tm.texi (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Update. + 2006-01-02 Adam Nemet <anemet@caviumnetworks.com> * combine.c (apply_distributive_law <SUBREG>): Check diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 4960599ed773c7ea859e8ca67c1578e0f97b08ea..c9e657375fe82d8595d6a118ddb5bc57dc48240e 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -1423,7 +1423,6 @@ may affect its placement. @deftypefn {Target Hook} {bool} TARGET_DECIMAL_FLOAT_SUPPORTED_P (void) Returns true if the target supports decimal floating point. -The default version of this hook always returns false. @end deftypefn @deftypefn {Target Hook} {const char *} TARGET_MANGLE_FUNDAMENTAL_TYPE (tree @var{type}) diff --git a/gcc/target-def.h b/gcc/target-def.h index de0f19b4e4a44e16ec5a926859a4513c17903c38..5848868f818a2d679a16b571ff776dea032d7de1 100644 --- a/gcc/target-def.h +++ b/gcc/target-def.h @@ -339,6 +339,10 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #define TARGET_SCALAR_MODE_SUPPORTED_P default_scalar_mode_supported_p #endif +#ifndef TARGET_DECIMAL_FLOAT_SUPPORTED_P +#define TARGET_DECIMAL_FLOAT_SUPPORTED_P default_decimal_float_supported_p +#endif + #ifndef TARGET_VECTOR_MODE_SUPPORTED_P #define TARGET_VECTOR_MODE_SUPPORTED_P hook_bool_mode_false #endif @@ -366,10 +370,6 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #define TARGET_MANGLE_FUNDAMENTAL_TYPE hook_constcharptr_tree_null #define TARGET_ALLOCATE_INITIAL_VALUE NULL -#ifndef TARGET_DECIMAL_FLOAT_SUPPORTED_P -#define TARGET_DECIMAL_FLOAT_SUPPORTED_P hook_bool_void_false -#endif - #ifndef TARGET_INIT_LIBFUNCS #define TARGET_INIT_LIBFUNCS hook_void_void #endif diff --git a/gcc/targhooks.c b/gcc/targhooks.c index 5ef2369ea6ba1dc43e4a0fbd9903337f6c6ab63a..2ff2b9b5a44c92c307d18a448673d9c668e17020 100644 --- a/gcc/targhooks.c +++ b/gcc/targhooks.c @@ -270,6 +270,14 @@ default_scalar_mode_supported_p (enum machine_mode mode) } } +/* True if the target supports decimal floating point. */ + +bool +default_decimal_float_supported_p (void) +{ + return ENABLE_DECIMAL_FLOAT; +} + /* NULL if INSN insn is valid within a low-overhead loop, otherwise returns an error message. diff --git a/gcc/targhooks.h b/gcc/targhooks.h index 8acccfdcb052c569de92d104926d708a5cc2249d..96bff20aebeee269c3f49e429c051f50392183ff 100644 --- a/gcc/targhooks.h +++ b/gcc/targhooks.h @@ -49,6 +49,7 @@ extern bool hook_callee_copies_named extern void default_unwind_emit (FILE *, rtx); extern bool default_scalar_mode_supported_p (enum machine_mode); +extern bool default_decimal_float_supported_p (void); extern const char * default_invalid_within_doloop (rtx);