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
This commit is contained in:
parent
1ed50f7194
commit
c77cd3d140
17 changed files with 182 additions and 7 deletions
|
@ -744,6 +744,10 @@ struct cpp_num
|
|||
#define CPP_N_MEDIUM 0x0020 /* long, double. */
|
||||
#define CPP_N_LARGE 0x0040 /* long long, long double. */
|
||||
|
||||
#define CPP_N_WIDTH_MD 0xF0000 /* machine defined. */
|
||||
#define CPP_N_MD_W 0x10000
|
||||
#define CPP_N_MD_Q 0x20000
|
||||
|
||||
#define CPP_N_RADIX 0x0F00
|
||||
#define CPP_N_DECIMAL 0x0100
|
||||
#define CPP_N_HEX 0x0200
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue