BOOL_BITFIELD cl_missing_ok : 1;
/* Argument is an integer >=0. */
BOOL_BITFIELD cl_uinteger : 1;
+ /* Argument is a HOST_WIDE_INT. */
+ BOOL_BITFIELD cl_host_wide_int : 1;
+ /* Argument should be converted to lowercase. */
+ BOOL_BITFIELD cl_tolower : 1;
/* Report argument with -fverbose-asm */
BOOL_BITFIELD cl_report : 1;
/* Offset of field for this option in struct gcc_options, or
/* How this option's value is determined and sets a field. */
enum cl_var_type var_type;
/* Value or bit-mask with which to set a field. */
- int var_value;
+ HOST_WIDE_INT var_value;
};
/* Records that the state of an option consists of SIZE bytes starting
extern const char *const lang_names[];
extern const unsigned int cl_lang_count;
-#define CL_PARAMS (1U << 11) /* Fake entry. Used to display --param info with --help. */
-#define CL_WARNING (1U << 12) /* Enables an (optional) warning message. */
-#define CL_OPTIMIZATION (1U << 13) /* Enables an (optional) optimization. */
-#define CL_DRIVER (1U << 14) /* Driver option. */
-#define CL_TARGET (1U << 15) /* Target-specific option. */
-#define CL_COMMON (1U << 16) /* Language-independent. */
+#define CL_PARAMS (1U << 16) /* Fake entry. Used to display --param info with --help. */
+#define CL_WARNING (1U << 17) /* Enables an (optional) warning message. */
+#define CL_OPTIMIZATION (1U << 18) /* Enables an (optional) optimization. */
+#define CL_DRIVER (1U << 19) /* Driver option. */
+#define CL_TARGET (1U << 20) /* Target-specific option. */
+#define CL_COMMON (1U << 21) /* Language-independent. */
#define CL_MIN_OPTION_CLASS CL_PARAMS
#define CL_MAX_OPTION_CLASS CL_COMMON
This distinction is important because --help will not list options
which only have these higher bits set. */
-#define CL_JOINED (1U << 17) /* If takes joined argument. */
-#define CL_SEPARATE (1U << 18) /* If takes a separate argument. */
-#define CL_UNDOCUMENTED (1U << 19) /* Do not output with --help. */
+#define CL_JOINED (1U << 22) /* If takes joined argument. */
+#define CL_SEPARATE (1U << 23) /* If takes a separate argument. */
+#define CL_UNDOCUMENTED (1U << 24) /* Do not output with --help. */
/* Flags for an enumerated option argument. */
#define CL_ENUM_CANONICAL (1 << 0) /* Canonical for this value. */
void (*wrong_lang_callback) (const struct cl_decoded_option *decoded,
unsigned int lang_mask);
- /* Callback to call after the successful handling of any option. */
- void (*post_handling_callback) (const struct cl_decoded_option *decoded,
- unsigned int mask);
-
/* The number of individual handlers. */
size_t num_handlers;
extern void set_struct_debug_option (struct gcc_options *opts,
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);
#endif