Mercurial > hg > CbC > CbC_gcc
diff gcc/opts.h @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
line wrap: on
line diff
--- a/gcc/opts.h Fri Oct 27 22:46:09 2017 +0900 +++ b/gcc/opts.h Thu Oct 25 07:37:49 2018 +0900 @@ -1,5 +1,5 @@ /* Command line option handling. - Copyright (C) 2002-2017 Free Software Foundation, Inc. + Copyright (C) 2002-2018 Free Software Foundation, Inc. This file is part of GCC. @@ -36,6 +36,9 @@ /* The switch is enabled when VAR_VALUE is set in FLAG_VAR. */ CLVC_BIT_SET, + /* The switch is enabled when FLAG_VAR is less than HOST_WIDE_INT_M1U. */ + CLVC_SIZE, + /* The switch takes a string argument and FLAG_VAR points to that argument. */ CLVC_STRING, @@ -70,7 +73,10 @@ unsigned short back_chain; /* Option length, not including initial '-'. */ unsigned char opt_len; - /* Next option in a sequence marked with Negative, or -1 if none. */ + /* Next option in a sequence marked with Negative, or -1 if none. + For a single option with both a negative and a positve form + (such as -Wall and -Wno-all), NEG_IDX is equal to the option's + own index (i.e., cl_options[IDX].neg_idx == IDX holds). */ int neg_index; /* CL_* flags for this option. */ unsigned int flags; @@ -100,6 +106,8 @@ BOOL_BITFIELD cl_tolower : 1; /* Report argument with -fverbose-asm */ BOOL_BITFIELD cl_report : 1; + /* Argument is an unsigned integer with an optional byte suffix. */ + BOOL_BITFIELD cl_byte_size: 1; /* Offset of field for this option in struct gcc_options, or (unsigned short) -1 if none. */ unsigned short flag_var_offset; @@ -244,7 +252,7 @@ /* For a boolean option, 1 for the true case and 0 for the "no-" case. For an unsigned integer option, the value of the argument. 1 in all other cases. */ - int value; + HOST_WIDE_INT value; /* Any flags describing errors detected in this option. */ int errors; @@ -324,7 +332,7 @@ extern struct obstack opts_obstack; size_t find_opt (const char *input, unsigned int lang_mask); -extern int integral_argument (const char *arg); +extern HOST_WIDE_INT integral_argument (const char *arg, int * = NULL, bool = false); extern bool enum_value_to_arg (const struct cl_enum_arg *enum_args, const char **argp, int value, unsigned int lang_mask); @@ -356,16 +364,17 @@ struct cl_option_state *); extern void set_option (struct gcc_options *opts, struct gcc_options *opts_set, - int opt_index, int value, const char *arg, int kind, - location_t loc, diagnostic_context *dc); + int opt_index, HOST_WIDE_INT value, const char *arg, + int kind, location_t loc, diagnostic_context *dc); extern void *option_flag_var (int opt_index, struct gcc_options *opts); bool handle_generated_option (struct gcc_options *opts, struct gcc_options *opts_set, - size_t opt_index, const char *arg, int value, + size_t opt_index, const char *arg, + HOST_WIDE_INT value, unsigned int lang_mask, int kind, location_t loc, const struct cl_option_handlers *handlers, bool generated_p, diagnostic_context *dc); -void generate_option (size_t opt_index, const char *arg, int value, +void generate_option (size_t opt_index, const char *arg, HOST_WIDE_INT value, unsigned int lang_mask, struct cl_decoded_option *decoded); void generate_option_input_file (const char *file, @@ -422,7 +431,8 @@ location_t loc, const char *value); extern bool opt_enum_arg_to_value (size_t opt_index, const char *arg, - int *value, unsigned int lang_mask); + int *value, + unsigned int lang_mask); extern const struct sanitizer_opts_s { @@ -439,4 +449,11 @@ const auto_vec <const char *> & candidates); + +extern bool parse_and_check_align_values (const char *flag, + const char *name, + auto_vec<unsigned> &result_values, + bool report_error, + location_t loc); + #endif