diff options
author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-07-03 05:53:58 +0000 |
---|---|---|
committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-07-03 05:53:58 +0000 |
commit | 430be8e2b1849cee13a6d721c24132194a371eed (patch) | |
tree | e606116f129427fd27bb72ba8a7b9932d86c2880 /gcc/target-def.h | |
parent | 3459f6a629a7bf9e64cdd23cbd94349ea420980c (diff) | |
download | gcc-430be8e2b1849cee13a6d721c24132194a371eed.tar.gz |
libcpp/ChangeLog:
* include/cpplib.h (CPP_N_WIDTH_MD, CPP_N_MD_W, CPP_N_MD_Q):
Add new constants.
* expr.c (interpret_float_suffix): Process 'w', 'W', 'q' and 'Q'
suffixes. Return CPP_N_MD_W for 'w' or 'W' suffixes and CPP_N_MD_Q
for 'q' or 'Q' suffixes.
gcc/ChangeLog:
* targhooks.h (default_mode_for_suffix): New function declaration.
* targhooks.c (default_mode_for_suffix): New default target hook.
* target.h (struct c): New structure in the targetm struct.
(mode_for_suffix): New target hook as part of struct c.
target-def.h (TARGET_C_MODE_FOR_SUFFIX): Define as
default_mode_for_suffix.
(TARGET_C): New define.
* c-lex.c: Include "target.h".
(interpret_float): Use targetm.c.mode_for_suffix to determine
the mode for a given non-standard suffix.
Makefile.in (c-lex.o): Depend on $(TARGET_H).
* config/i386/i386.c (ix86_c_mode_for_suffix): New static function.
(TARGET_C_MODE_FOR_SUFFIX): Define to ix86_c_mode_for_suffix.
* doc/extend.texi (Floating Types): New node. Document __float80 and
__float128 types. Document 'w', 'W', 'q' and 'Q' suffixes.
testsuite/ChangeLog:
* gcc.dg/const-float80.c : New test.
* gcc.dg/const-float128.c : New test.
* gcc.dg/const-float80-ped.c : New test.
* gcc.dg/const-float128-ped.c : New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126244 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/target-def.h')
-rw-r--r-- | gcc/target-def.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/target-def.h b/gcc/target-def.h index bc07f628778..c106577c7fb 100644 --- a/gcc/target-def.h +++ b/gcc/target-def.h @@ -578,6 +578,15 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. #define TARGET_SECONDARY_RELOAD default_secondary_reload #endif +/* C specific. */ +#ifndef TARGET_C_MODE_FOR_SUFFIX +#define TARGET_C_MODE_FOR_SUFFIX default_mode_for_suffix +#endif + +#define TARGET_C \ + { \ + TARGET_C_MODE_FOR_SUFFIX \ + } /* C++ specific. */ #ifndef TARGET_CXX_GUARD_TYPE @@ -729,8 +738,9 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. TARGET_INVALID_UNARY_OP, \ TARGET_INVALID_BINARY_OP, \ TARGET_SECONDARY_RELOAD, \ + TARGET_C, \ TARGET_CXX, \ - TARGET_EXTRA_LIVE_ON_ENTRY, \ + TARGET_EXTRA_LIVE_ON_ENTRY, \ TARGET_UNWIND_TABLES_DEFAULT, \ TARGET_HAVE_NAMED_SECTIONS, \ TARGET_HAVE_SWITCHABLE_BSS_SECTIONS, \ |