aboutsummaryrefslogtreecommitdiff
path: root/gcc/target-def.h
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2007-07-03 07:53:58 +0200
committerUros Bizjak <uros@gcc.gnu.org>2007-07-03 07:53:58 +0200
commitc77cd3d140cbf8fa02a5383c3d1f6afabe7a33c3 (patch)
treee606116f129427fd27bb72ba8a7b9932d86c2880 /gcc/target-def.h
parent1ed50f7194d46aa97af8072b0da2bcd68f906488 (diff)
downloadgcc-c77cd3d140cbf8fa02a5383c3d1f6afabe7a33c3.zip
gcc-c77cd3d140cbf8fa02a5383c3d1f6afabe7a33c3.tar.gz
gcc-c77cd3d140cbf8fa02a5383c3d1f6afabe7a33c3.tar.bz2
cpplib.h (CPP_N_WIDTH_MD, [...]): Add new constants.
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. From-SVN: r126244
Diffstat (limited to 'gcc/target-def.h')
-rw-r--r--gcc/target-def.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/target-def.h b/gcc/target-def.h
index bc07f62..c106577 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, \