Implement a flag -fext-numeric-literals that allows control of whether GNU...

Implement a flag -fext-numeric-literals that allows control of whether GNU
numeric suffix extensions are parsed or passed to C++ as user-defined literals.

From-SVN: r193382
This commit is contained in:
Ed Smith-Rowland 2012-11-10 00:08:49 +00:00 committed by Edward Smith-Rowland
parent 97996ede57
commit a4a0016d60
16 changed files with 605 additions and 59 deletions

View file

@ -431,6 +431,10 @@ struct cpp_options
ud-suffix which does not beging with an underscore. */
unsigned char warn_literal_suffix;
/* Nonzero means interpret imaginary, fixed-point, or other gnu extension
literal number suffixes as user-defined literal number suffixes. */
unsigned char ext_numeric_literals;
/* Holds the name of the target (execution) character set. */
const char *narrow_charset;
@ -854,10 +858,12 @@ extern unsigned cpp_classify_number (cpp_reader *, const cpp_token *,
const char **, source_location);
/* Return the classification flags for a float suffix. */
extern unsigned int cpp_interpret_float_suffix (const char *, size_t);
extern unsigned int cpp_interpret_float_suffix (cpp_reader *, const char *,
size_t);
/* Return the classification flags for an int suffix. */
extern unsigned int cpp_interpret_int_suffix (const char *, size_t);
extern unsigned int cpp_interpret_int_suffix (cpp_reader *, const char *,
size_t);
/* Evaluate a token classified as category CPP_N_INTEGER. */
extern cpp_num cpp_interpret_integer (cpp_reader *, const cpp_token *,