summaryrefslogtreecommitdiff
path: root/gcc/opts.h
diff options
context:
space:
mode:
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-05 13:06:27 +0000
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2010-11-05 13:06:27 +0000
commite2028bfacda6880292925ddc3273b9d4e29e48f1 (patch)
tree6b1a8cba615f48d1963fa98f1d69555be29e0ee1 /gcc/opts.h
parent03d06b393750d84517695f396af0612d87784f40 (diff)
downloadgcc-e2028bfacda6880292925ddc3273b9d4e29e48f1.tar.gz
* defaults.h (DEFAULT_WORD_SWITCH_TAKES_ARG,
WORD_SWITCH_TAKES_ARG): Remove. * doc/options.texi (Args): Document. * doc/tm.texi.in (WORD_SWITCH_TAKES_ARG): Remove. * doc/tm.texi: Regenerate. * opt-functions.awk (switch_flags): Handle Args. * opts-common.c: Update comment on tm.h include. (decode_cmdline_option): Handle options with multiple arguments. Don't check WORD_SWITCH_TAKES_ARG for unknown options. * opts.h (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK): Define. (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET, CL_COMMON): Update values. * system.h (WORD_SWITCH_TAKES_ARG): Poison. * config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove. * config/darwin.opt (Zsegaddr, sectalign, sectcreate, sectobjectsymbols, sectorder, segcreate, segprot): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166359 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/opts.h')
-rw-r--r--gcc/opts.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/gcc/opts.h b/gcc/opts.h
index a1ab4cb6ca9..2643c37070c 100644
--- a/gcc/opts.h
+++ b/gcc/opts.h
@@ -71,12 +71,12 @@ extern const unsigned int cl_options_count;
extern const char *const lang_names[];
extern const unsigned int cl_lang_count;
-#define CL_PARAMS (1 << 13) /* Fake entry. Used to display --param info with --help. */
-#define CL_WARNING (1 << 14) /* Enables an (optional) warning message. */
-#define CL_OPTIMIZATION (1 << 15) /* Enables an (optional) optimization. */
-#define CL_DRIVER (1 << 16) /* Driver option. */
-#define CL_TARGET (1 << 17) /* Target-specific option. */
-#define CL_COMMON (1 << 18) /* Language-independent. */
+#define CL_PARAMS (1 << 11) /* Fake entry. Used to display --param info with --help. */
+#define CL_WARNING (1 << 12) /* Enables an (optional) warning message. */
+#define CL_OPTIMIZATION (1 << 13) /* Enables an (optional) optimization. */
+#define CL_DRIVER (1 << 14) /* Driver option. */
+#define CL_TARGET (1 << 15) /* Target-specific option. */
+#define CL_COMMON (1 << 16) /* Language-independent. */
#define CL_MIN_OPTION_CLASS CL_PARAMS
#define CL_MAX_OPTION_CLASS CL_COMMON
@@ -86,6 +86,11 @@ extern const unsigned int cl_lang_count;
This distinction is important because --help will not list options
which only have these higher bits set. */
+/* Options marked with CL_SEPARATE take a number of separate arguments
+ (1 to 4) that is one more than the number in this bit-field. */
+#define CL_SEPARATE_NARGS_SHIFT 17
+#define CL_SEPARATE_NARGS_MASK (3 << CL_SEPARATE_NARGS_SHIFT)
+
#define CL_SEPARATE_ALIAS (1 << 19) /* Option is an alias when used with separate argument. */
#define CL_NO_DRIVER_ARG (1 << 20) /* Option takes no argument in the driver. */
#define CL_REJECT_DRIVER (1 << 21) /* Reject this option in the driver. */