From: Daniel Dunbar Date: Tue, 31 Mar 2009 20:12:05 +0000 (+0000) Subject: Driver: Add extra parameters for help text to option definitions. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c0d12e93ee244534147960334c095a6d6510d0ae;p=clang Driver: Add extra parameters for help text to option definitions. - Currently unused. And yes, now may be about the time I want a TableGen backend. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68139 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Driver/Options.def b/include/clang/Driver/Options.def index 19a10c0b0b..7ad66df69a 100644 --- a/include/clang/Driver/Options.def +++ b/include/clang/Driver/Options.def @@ -16,11 +16,12 @@ #error "Define OPTION prior to including this file!" #endif -// OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM) +// OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, +// HELPTEXT, METAVARNAME) -// The first value is the option name as a string. +// The NAME value is the option name as a string. -// The second value is the internal option id, which must be a valid +// The ID is the internal option id, which must be a valid // C++ identifier, and results in a clang::driver::options::OPT_XX // enum constant for XX. // @@ -38,16 +39,16 @@ // = => _EQ // C++ => CXX -// The third value is the option type, one of Group, Flag, Joined, +// The KIND value is the option type, one of Group, Flag, Joined, // Separate, CommaJoined, JoinedOrSeparate, JoinedAndSeparate. -// The fourth value is the internal name of the option group, or +// The GROUP value is the internal name of the option group, or // INVALID if the option is not part of a group. -// The fifth value is the internal name of an aliased option, or +// The ALIAS value is the internal name of an aliased option, or // INVALID if the option is not an alias. -// The sixth value is a string containing option flags. Valid values: +// The PARAM value is a string containing option flags. Valid values: // d: The option is a "driver" option, and should not be forwarded to // gcc. // @@ -65,10 +66,16 @@ // J: The option should be rendered joined, even if separate (only // sensible on single value separate options). -// The seventh value is an arbitrary integer parameter; currently +// The PARAM value is an arbitrary integer parameter; currently // this is only used for specifying the number of arguments for // Separate options. +// The HELPTEXT value is the string to print for this option in +// --help, or 0 if undocumented. + +// The METAVAR value is the name to use for this values arguments (if +// any) in the help text, or 0 to use the default (""). + // // For now (pre-TableGen, that is) Options must be in order. The @@ -82,499 +89,499 @@ ///////// // Groups -OPTION("", I_Group, Group, INVALID, INVALID, "", 0) -OPTION("", M_Group, Group, INVALID, INVALID, "", 0) -OPTION("", T_Group, Group, INVALID, INVALID, "", 0) -OPTION("", O_Group, Group, INVALID, INVALID, "", 0) -OPTION("", W_Group, Group, INVALID, INVALID, "", 0) -OPTION("", clang_W_Group, Group, W_Group, INVALID, "", 0) -OPTION("", X_Group, Group, INVALID, INVALID, "", 0) -OPTION("", a_Group, Group, INVALID, INVALID, "", 0) -OPTION("", d_Group, Group, INVALID, INVALID, "", 0) -OPTION("", f_Group, Group, INVALID, INVALID, "", 0) -OPTION("", clang_f_Group, Group, f_Group, INVALID, "", 0) -OPTION("", g_Group, Group, INVALID, INVALID, "", 0) -OPTION("", i_Group, Group, INVALID, INVALID, "", 0) -OPTION("", m_Group, Group, INVALID, INVALID, "", 0) -OPTION("", u_Group, Group, INVALID, INVALID, "", 0) +OPTION("", I_Group, Group, INVALID, INVALID, "", 0, 0, 0) +OPTION("", M_Group, Group, INVALID, INVALID, "", 0, 0, 0) +OPTION("", T_Group, Group, INVALID, INVALID, "", 0, 0, 0) +OPTION("", O_Group, Group, INVALID, INVALID, "", 0, 0, 0) +OPTION("", W_Group, Group, INVALID, INVALID, "", 0, 0, 0) +OPTION("", clang_W_Group, Group, W_Group, INVALID, "", 0, 0, 0) +OPTION("", X_Group, Group, INVALID, INVALID, "", 0, 0, 0) +OPTION("", a_Group, Group, INVALID, INVALID, "", 0, 0, 0) +OPTION("", d_Group, Group, INVALID, INVALID, "", 0, 0, 0) +OPTION("", f_Group, Group, INVALID, INVALID, "", 0, 0, 0) +OPTION("", clang_f_Group, Group, f_Group, INVALID, "", 0, 0, 0) +OPTION("", g_Group, Group, INVALID, INVALID, "", 0, 0, 0) +OPTION("", i_Group, Group, INVALID, INVALID, "", 0, 0, 0) +OPTION("", m_Group, Group, INVALID, INVALID, "", 0, 0, 0) +OPTION("", u_Group, Group, INVALID, INVALID, "", 0, 0, 0) -OPTION("", pedantic_Group, Group, INVALID, INVALID, "", 0) +OPTION("", pedantic_Group, Group, INVALID, INVALID, "", 0, 0, 0) // Temporary groups for clang options which we know we don't support, // but don't want to verbosely warn the user about. OPTION("", clang_ignored_W_Group, Group, W_Group, - INVALID, "", 0) + INVALID, "", 0, 0, 0) OPTION("", clang_ignored_f_Group, Group, f_Group, - INVALID, "", 0) + INVALID, "", 0, 0, 0) ////////// // Options -OPTION("-###", _HASH_HASH_HASH, Flag, INVALID, INVALID, "d", 0) -OPTION("--CLASSPATH=", _CLASSPATH_EQ, Joined, INVALID, fclasspath_EQ, "", 0) -OPTION("--CLASSPATH", _CLASSPATH, Separate, INVALID, fclasspath_EQ, "J", 0) -OPTION("--all-warnings", _all_warnings, Flag, INVALID, Wall, "", 0) -OPTION("--analyze", _analyze, Flag, INVALID, INVALID, "", 0) -OPTION("--ansi", _ansi, Flag, INVALID, ansi, "", 0) -OPTION("--assemble", _assemble, Flag, INVALID, S, "", 0) -OPTION("--assert=", _assert_EQ, Joined, INVALID, A, "S", 0) -OPTION("--assert", _assert, Separate, INVALID, A, "", 0) -OPTION("--bootclasspath=", _bootclasspath_EQ, Joined, INVALID, fbootclasspath_EQ, "", 0) -OPTION("--bootclasspath", _bootclasspath, Separate, INVALID, fbootclasspath_EQ, "J", 0) -OPTION("--classpath=", _classpath_EQ, Joined, INVALID, fclasspath_EQ, "", 0) -OPTION("--classpath", _classpath, Separate, INVALID, fclasspath_EQ, "J", 0) -OPTION("--combine", _combine, Flag, INVALID, combine, "u", 0) -OPTION("--comments-in-macros", _comments_in_macros, Flag, INVALID, CC, "", 0) -OPTION("--comments", _comments, Flag, INVALID, C, "", 0) -OPTION("--compile", _compile, Flag, INVALID, c, "", 0) -OPTION("--constant-cfstrings", _constant_cfstrings, Flag, INVALID, INVALID, "", 0) -OPTION("--coverage", _coverage, Flag, INVALID, coverage, "", 0) -OPTION("--debug=", _debug_EQ, Joined, INVALID, g_Flag, "u", 0) -OPTION("--debug", _debug, Flag, INVALID, g_Flag, "u", 0) -OPTION("--define-macro=", _define_macro_EQ, Joined, INVALID, D, "", 0) -OPTION("--define-macro", _define_macro, Separate, INVALID, D, "J", 0) -OPTION("--dependencies", _dependencies, Flag, INVALID, M, "", 0) -OPTION("--encoding=", _encoding_EQ, Joined, INVALID, fencoding_EQ, "", 0) -OPTION("--encoding", _encoding, Separate, INVALID, fencoding_EQ, "J", 0) -OPTION("--entry", _entry, Flag, INVALID, e, "", 0) -OPTION("--extdirs=", _extdirs_EQ, Joined, INVALID, fextdirs_EQ, "", 0) -OPTION("--extdirs", _extdirs, Separate, INVALID, fextdirs_EQ, "J", 0) -OPTION("--extra-warnings", _extra_warnings, Flag, INVALID, W, "", 0) -OPTION("--for-linker=", _for_linker_EQ, Joined, INVALID, Xlinker, "liS", 0) -OPTION("--for-linker", _for_linker, Separate, INVALID, Xlinker, "li", 0) -OPTION("--force-link=", _force_link_EQ, Joined, INVALID, u, "S", 0) -OPTION("--force-link", _force_link, Separate, INVALID, u, "", 0) -OPTION("--help", _help, Flag, INVALID, INVALID, "", 0) -OPTION("--imacros=", _imacros_EQ, Joined, INVALID, imacros, "S", 0) -OPTION("--imacros", _imacros, Separate, INVALID, imacros, "", 0) -OPTION("--include-barrier", _include_barrier, Flag, INVALID, I_, "", 0) -OPTION("--include-directory-after=", _include_directory_after_EQ, Joined, INVALID, idirafter, "S", 0) -OPTION("--include-directory-after", _include_directory_after, Separate, INVALID, idirafter, "", 0) -OPTION("--include-directory=", _include_directory_EQ, Joined, INVALID, I, "", 0) -OPTION("--include-directory", _include_directory, Separate, INVALID, I, "J", 0) -OPTION("--include-prefix=", _include_prefix_EQ, Joined, INVALID, iprefix, "S", 0) -OPTION("--include-prefix", _include_prefix, Separate, INVALID, iprefix, "", 0) -OPTION("--include-with-prefix-after=", _include_with_prefix_after_EQ, Joined, INVALID, iwithprefix, "S", 0) -OPTION("--include-with-prefix-after", _include_with_prefix_after, Separate, INVALID, iwithprefix, "", 0) -OPTION("--include-with-prefix-before=", _include_with_prefix_before_EQ, Joined, INVALID, iwithprefixbefore, "S", 0) -OPTION("--include-with-prefix-before", _include_with_prefix_before, Separate, INVALID, iwithprefixbefore, "", 0) -OPTION("--include-with-prefix=", _include_with_prefix_EQ, Joined, INVALID, iwithprefix, "S", 0) -OPTION("--include-with-prefix", _include_with_prefix, Separate, INVALID, iwithprefix, "", 0) -OPTION("--include=", _include_EQ, Joined, INVALID, include, "S", 0) -OPTION("--include", _include, Separate, INVALID, include, "", 0) -OPTION("--language=", _language_EQ, Joined, INVALID, x, "S", 0) -OPTION("--language", _language, Separate, INVALID, x, "", 0) -OPTION("--library-directory=", _library_directory_EQ, Joined, INVALID, L, "S", 0) -OPTION("--library-directory", _library_directory, Separate, INVALID, L, "", 0) -OPTION("--machine-=", _machine__EQ, Joined, INVALID, m_Joined, "u", 0) -OPTION("--machine-", _machine_, Joined, INVALID, m_Joined, "u", 0) -OPTION("--machine=", _machine_EQ, Joined, INVALID, m_Joined, "", 0) -OPTION("--machine", _machine, Separate, INVALID, m_Joined, "J", 0) -OPTION("--no-integrated-cpp", _no_integrated_cpp, Flag, INVALID, no_integrated_cpp, "", 0) -OPTION("--no-line-commands", _no_line_commands, Flag, INVALID, P, "", 0) -OPTION("--no-standard-includes", _no_standard_includes, Flag, INVALID, nostdinc, "", 0) -OPTION("--no-standard-libraries", _no_standard_libraries, Flag, INVALID, nostdlib, "", 0) -OPTION("--no-warnings", _no_warnings, Flag, INVALID, w, "", 0) -OPTION("--optimize=", _optimize_EQ, Joined, INVALID, O, "u", 0) -OPTION("--optimize", _optimize, Flag, INVALID, O, "u", 0) -OPTION("--output-class-directory=", _output_class_directory_EQ, Joined, INVALID, foutput_class_dir_EQ, "", 0) -OPTION("--output-class-directory", _output_class_directory, Separate, INVALID, foutput_class_dir_EQ, "J", 0) -OPTION("--output=", _output_EQ, Joined, INVALID, o, "S", 0) -OPTION("--output", _output, Separate, INVALID, o, "", 0) -OPTION("--param=", _param_EQ, Joined, INVALID, _param, "S", 0) -OPTION("--param", _param, Separate, INVALID, INVALID, "", 0) -OPTION("--pass-exit-codes", _pass_exit_codes, Flag, INVALID, pass_exit_codes, "", 0) -OPTION("--pedantic-errors", _pedantic_errors, Flag, INVALID, pedantic_errors, "", 0) -OPTION("--pedantic", _pedantic, Flag, INVALID, pedantic, "", 0) -OPTION("--pipe", _pipe, Flag, INVALID, pipe, "d", 0) -OPTION("--prefix=", _prefix_EQ, Joined, INVALID, B, "S", 0) -OPTION("--prefix", _prefix, Separate, INVALID, B, "", 0) -OPTION("--preprocess", _preprocess, Flag, INVALID, E, "", 0) -OPTION("--print-file-name=", _print_file_name_EQ, Joined, INVALID, print_file_name_EQ, "", 0) -OPTION("--print-file-name", _print_file_name, Separate, INVALID, print_file_name_EQ, "", 0) -OPTION("--print-libgcc-file-name", _print_libgcc_file_name, Flag, INVALID, print_libgcc_file_name, "", 0) -OPTION("--print-missing-file-dependencies", _print_missing_file_dependencies, Flag, INVALID, MG, "", 0) -OPTION("--print-multi-directory", _print_multi_directory, Flag, INVALID, print_multi_directory, "", 0) -OPTION("--print-multi-lib", _print_multi_lib, Flag, INVALID, print_multi_lib, "", 0) -OPTION("--print-multi-os-directory", _print_multi_os_directory, Flag, INVALID, print_multi_os_directory, "", 0) -OPTION("--print-prog-name=", _print_prog_name_EQ, Joined, INVALID, print_prog_name_EQ, "", 0) -OPTION("--print-prog-name", _print_prog_name, Separate, INVALID, print_prog_name_EQ, "", 0) -OPTION("--print-search-dirs", _print_search_dirs, Flag, INVALID, print_search_dirs, "", 0) -OPTION("--profile-blocks", _profile_blocks, Flag, INVALID, a, "", 0) -OPTION("--profile", _profile, Flag, INVALID, p, "", 0) -OPTION("--resource=", _resource_EQ, Joined, INVALID, fcompile_resource_EQ, "", 0) -OPTION("--resource", _resource, Separate, INVALID, fcompile_resource_EQ, "J", 0) -OPTION("--save-temps", _save_temps, Flag, INVALID, save_temps, "", 0) -OPTION("--specs=", _specs_EQ, Joined, INVALID, specs_EQ, "u", 0) -OPTION("--specs", _specs, Separate, INVALID, specs_EQ, "uJ", 0) -OPTION("--static", _static, Flag, INVALID, static, "", 0) -OPTION("--std=", _std_EQ, Joined, INVALID, std_EQ, "", 0) -OPTION("--std", _std, Separate, INVALID, std_EQ, "J", 0) -OPTION("--sysroot=", _sysroot_EQ, Joined, INVALID, INVALID, "", 0) -OPTION("--sysroot", _sysroot, Separate, INVALID, _sysroot_EQ, "J", 0) -OPTION("--target-help", _target_help, Flag, INVALID, INVALID, "", 0) -OPTION("--trace-includes", _trace_includes, Flag, INVALID, H, "", 0) -OPTION("--traditional-cpp", _traditional_cpp, Flag, INVALID, traditional_cpp, "", 0) -OPTION("--traditional", _traditional, Flag, INVALID, traditional, "", 0) -OPTION("--trigraphs", _trigraphs, Flag, INVALID, trigraphs, "", 0) -OPTION("--undefine-macro=", _undefine_macro_EQ, Joined, INVALID, U, "", 0) -OPTION("--undefine-macro", _undefine_macro, Separate, INVALID, U, "J", 0) -OPTION("--user-dependencies", _user_dependencies, Flag, INVALID, MM, "", 0) -OPTION("--verbose", _verbose, Flag, INVALID, v, "", 0) -OPTION("--version", _version, Flag, INVALID, INVALID, "", 0) -OPTION("--warn-=", _warn__EQ, Joined, INVALID, W, "u", 0) -OPTION("--warn-", _warn_, Joined, INVALID, W, "u", 0) -OPTION("--write-dependencies", _write_dependencies, Flag, INVALID, MD, "", 0) -OPTION("--write-user-dependencies", _write_user_dependencies, Flag, INVALID, MMD, "", 0) -OPTION("--", _, Joined, INVALID, f, "u", 0) -OPTION("-A", A, JoinedOrSeparate, INVALID, INVALID, "", 0) -OPTION("-B", B, JoinedOrSeparate, INVALID, INVALID, "u", 0) -OPTION("-CC", CC, Flag, INVALID, INVALID, "", 0) -OPTION("-C", C, Flag, INVALID, INVALID, "", 0) -OPTION("-D", D, JoinedOrSeparate, INVALID, INVALID, "", 0) -OPTION("-E", E, Flag, INVALID, INVALID, "d", 0) -OPTION("-F", F, JoinedOrSeparate, INVALID, INVALID, "", 0) -OPTION("-H", H, Flag, INVALID, INVALID, "", 0) -OPTION("-I-", I_, Flag, I_Group, INVALID, "", 0) -OPTION("-I", I, JoinedOrSeparate, I_Group, INVALID, "", 0) -OPTION("-L", L, JoinedOrSeparate, INVALID, INVALID, "", 0) -OPTION("-MD", MD, Flag, M_Group, INVALID, "", 0) -OPTION("-MF", MF, JoinedOrSeparate, M_Group, INVALID, "", 0) -OPTION("-MG", MG, Flag, M_Group, INVALID, "", 0) -OPTION("-MMD", MMD, Flag, M_Group, INVALID, "", 0) -OPTION("-MM", MM, Flag, M_Group, INVALID, "", 0) -OPTION("-MP", MP, Flag, M_Group, INVALID, "", 0) -OPTION("-MQ", MQ, JoinedOrSeparate, M_Group, INVALID, "", 0) -OPTION("-MT", MT, JoinedOrSeparate, M_Group, INVALID, "", 0) -OPTION("-Mach", Mach, Flag, INVALID, INVALID, "", 0) -OPTION("-M", M, Flag, M_Group, INVALID, "", 0) -OPTION("-O4", O4, Joined, O_Group, INVALID, "", 0) -OPTION("-ObjC++", ObjCXX, Flag, INVALID, INVALID, "d", 0) -OPTION("-ObjC", ObjC, Flag, INVALID, INVALID, "d", 0) -OPTION("-O", O, Joined, O_Group, INVALID, "", 0) -OPTION("-P", P, Flag, INVALID, INVALID, "", 0) -OPTION("-Qn", Qn, Flag, INVALID, INVALID, "", 0) -OPTION("-Q", Q, Flag, INVALID, INVALID, "", 0) -OPTION("-R", R, Flag, INVALID, INVALID, "", 0) -OPTION("-S", S, Flag, INVALID, INVALID, "d", 0) -OPTION("-Tbss", Tbss, JoinedOrSeparate, T_Group, INVALID, "", 0) -OPTION("-Tdata", Tdata, JoinedOrSeparate, T_Group, INVALID, "", 0) -OPTION("-Ttext", Ttext, JoinedOrSeparate, T_Group, INVALID, "", 0) -OPTION("-T", T, JoinedOrSeparate, T_Group, INVALID, "", 0) -OPTION("-U", U, JoinedOrSeparate, INVALID, INVALID, "", 0) -OPTION("-V", V, JoinedOrSeparate, INVALID, INVALID, "u", 0) -OPTION("-Wa,", Wa_COMMA, CommaJoined, INVALID, INVALID, "", 0) -OPTION("-Wall", Wall, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wcast-align", Wcast_align, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wchar-align", Wchar_align, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wchar-subscripts", Wchar_subscripts, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wdeprecated-declarations", Wdeprecated_declarations, Flag, clang_W_Group, INVALID, "", 0) -OPTION("-Werror", Werror, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wextra", Wextra, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wfloat-equal", Wfloat_equal, Flag, clang_W_Group, INVALID, "", 0) -OPTION("-Wimplicit-function-declaration", Wimplicit_function_declaration, Flag, clang_W_Group, INVALID, "", 0) -OPTION("-Winline", Winline, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wint-to-pointer-cast", Wint_to_pointer_cast, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wl,", Wl_COMMA, CommaJoined, INVALID, INVALID, "li", 0) -OPTION("-Wmissing-braces", Wmissing_braces, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wmissing-prototypes", Wmissing_prototypes, Flag, clang_W_Group, INVALID, "", 0) -OPTION("-Wmost", Wmost, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wnested-externs", Wnested_externs, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wno-deprecated-declarations", Wno_deprecated_declarations, Flag, clang_W_Group, INVALID, "", 0) -OPTION("-Wno-format-nonliteral", Wno_format_nonliteral, Flag, clang_W_Group, INVALID, "", 0) -OPTION("-Wno-format-y2k", Wno_format_y2k, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wno-four-char-constants", Wno_four_char_constants, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wno-missing-field-initializers", Wno_missing_field_initializers, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wno-missing-prototypes", Wno_missing_prototypes, Flag, clang_W_Group, INVALID, "", 0) -OPTION("-Wno-nonportable-cfstrings", Wno_nonportable_cfstrings, Joined, W_Group, INVALID, "", 0) -OPTION("-Wno-pointer-sign", Wno_pointer_sign, Flag, clang_W_Group, INVALID, "", 0) -OPTION("-Wno-strict-selector-match", Wno_strict_selector_match, Flag, clang_W_Group, INVALID, "", 0) -OPTION("-Wno-trigraphs", Wno_trigraphs, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wno-unknown-pragmas", Wno_unknown_pragmas, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wno-unused-parameter", Wno_unused_parameter, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wnonportable-cfstrings", Wnonportable_cfstrings, Joined, W_Group, INVALID, "", 0) -OPTION("-Wp,", Wp_COMMA, CommaJoined, INVALID, INVALID, "", 0) -OPTION("-Wparentheses", Wparentheses, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wpointer-arith", Wpointer_arith, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wpointer-to-int-cast", Wpointer_to_int_cast, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wreadonly-setter-attrs", Wreadonly_setter_attrs, Flag, clang_W_Group, INVALID, "", 0) -OPTION("-Wreturn-type", Wreturn_type, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wshorten-64-to-32", Wshorten_64_to_32, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wswitch", Wswitch, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wundef", Wundef, Flag, clang_W_Group, INVALID, "", 0) -OPTION("-Wunused-function", Wunused_function, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wunused-label", Wunused_label, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wunused-macros", Wunused_macros, Flag, clang_W_Group, INVALID, "", 0) -OPTION("-Wunused-value", Wunused_value, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wunused-variable", Wunused_variable, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-Wwrite-strings", Wwrite_strings, Flag, clang_ignored_W_Group, INVALID, "", 0) -OPTION("-W", W, Joined, W_Group, INVALID, "", 0) -OPTION("-Xanalyzer", Xanalyzer, Separate, INVALID, INVALID, "", 0) -OPTION("-Xarch_", Xarch__, JoinedAndSeparate, INVALID, INVALID, "", 0) -OPTION("-Xassembler", Xassembler, Separate, INVALID, INVALID, "", 0) -OPTION("-Xclang", Xclang, Separate, INVALID, INVALID, "", 0) -OPTION("-Xlinker", Xlinker, Separate, INVALID, INVALID, "li", 0) -OPTION("-Xpreprocessor", Xpreprocessor, Separate, INVALID, INVALID, "", 0) -OPTION("-X", X_Flag, Flag, INVALID, INVALID, "", 0) -OPTION("-X", X_Joined, Joined, INVALID, INVALID, "", 0) -OPTION("-Z", Z_Flag, Flag, INVALID, INVALID, "", 0) -OPTION("-Z", Z_Joined, Joined, INVALID, INVALID, "", 0) -OPTION("-all_load", all__load, Flag, INVALID, INVALID, "", 0) -OPTION("-allowable_client", allowable__client, Separate, INVALID, INVALID, "", 0) -OPTION("-ansi", ansi, Flag, a_Group, INVALID, "", 0) -OPTION("-arch", arch, Separate, INVALID, INVALID, "d", 0) -OPTION("-a", a, Joined, a_Group, INVALID, "", 0) -OPTION("-bind_at_load", bind__at__load, Flag, INVALID, INVALID, "", 0) -OPTION("-bundle_loader", bundle__loader, Separate, INVALID, INVALID, "", 0) -OPTION("-bundle", bundle, Flag, INVALID, INVALID, "", 0) -OPTION("-b", b, JoinedOrSeparate, INVALID, INVALID, "u", 0) -OPTION("-client_name", client__name, JoinedOrSeparate, INVALID, INVALID, "", 0) -OPTION("-combine", combine, Flag, INVALID, INVALID, "du", 0) -OPTION("-compatibility_version", compatibility__version, JoinedOrSeparate, INVALID, INVALID, "", 0) -OPTION("-coverage", coverage, Flag, INVALID, INVALID, "", 0) -OPTION("-cpp-precomp", cpp_precomp, Flag, INVALID, INVALID, "", 0) -OPTION("-current_version", current__version, JoinedOrSeparate, INVALID, INVALID, "", 0) -OPTION("-c", c, Flag, INVALID, INVALID, "d", 0) -OPTION("-dA", dA, Flag, d_Group, INVALID, "", 0) -OPTION("-dM", dM, Flag, d_Group, INVALID, "", 0) -OPTION("-dead_strip", dead__strip, Flag, INVALID, INVALID, "", 0) -OPTION("-dependency-file", dependency_file, Separate, INVALID, INVALID, "", 0) -OPTION("-dumpmachine", dumpmachine, Flag, INVALID, INVALID, "u", 0) -OPTION("-dumpspecs", dumpspecs, Flag, INVALID, INVALID, "u", 0) -OPTION("-dumpversion", dumpversion, Flag, INVALID, INVALID, "u", 0) -OPTION("-dylib_file", dylib__file, Separate, INVALID, INVALID, "", 0) -OPTION("-dylinker_install_name", dylinker__install__name, JoinedOrSeparate, INVALID, INVALID, "", 0) -OPTION("-dylinker", dylinker, Flag, INVALID, INVALID, "", 0) -OPTION("-dynamiclib", dynamiclib, Flag, INVALID, INVALID, "", 0) -OPTION("-dynamic", dynamic, Flag, INVALID, INVALID, "", 0) -OPTION("-d", d_Flag, Flag, d_Group, INVALID, "", 0) -OPTION("-d", d_Joined, Joined, d_Group, INVALID, "", 0) -OPTION("-emit-llvm", emit_llvm, Flag, INVALID, INVALID, "", 0) -OPTION("-exported_symbols_list", exported__symbols__list, Separate, INVALID, INVALID, "", 0) -OPTION("-e", e, JoinedOrSeparate, INVALID, INVALID, "", 0) -OPTION("-fPIC", fPIC, Flag, f_Group, INVALID, "", 0) -OPTION("-fPIE", fPIE, Flag, f_Group, INVALID, "", 0) -OPTION("-fapple-kext", fapple_kext, Flag, f_Group, INVALID, "", 0) -OPTION("-fasm-blocks", fasm_blocks, Flag, clang_ignored_f_Group, INVALID, "", 0) -OPTION("-fastcp", fastcp, Flag, f_Group, INVALID, "", 0) -OPTION("-fastf", fastf, Flag, f_Group, INVALID, "", 0) -OPTION("-fast", fast, Flag, f_Group, INVALID, "", 0) -OPTION("-fblocks", fblocks, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fbootclasspath=", fbootclasspath_EQ, Joined, f_Group, INVALID, "", 0) -OPTION("-fbuiltin", fbuiltin, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fclasspath=", fclasspath_EQ, Joined, f_Group, INVALID, "", 0) -OPTION("-fcommon", fcommon, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fcompile-resource=", fcompile_resource_EQ, Joined, f_Group, INVALID, "", 0) -OPTION("-fconstant-cfstrings", fconstant_cfstrings, Flag, f_Group, INVALID, "", 0) -OPTION("-fcreate-profile", fcreate_profile, Flag, f_Group, INVALID, "", 0) -OPTION("-fdebug-pass-arguments", fdebug_pass_arguments, Flag, f_Group, INVALID, "", 0) -OPTION("-fdebug-pass-structure", fdebug_pass_structure, Flag, f_Group, INVALID, "", 0) -OPTION("-feliminate-unused-debug-symbols", feliminate_unused_debug_symbols, Flag, f_Group, INVALID, "", 0) -OPTION("-femit-all-decls", femit_all_decls, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fencoding=", fencoding_EQ, Joined, f_Group, INVALID, "", 0) -OPTION("-fexceptions", fexceptions, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fextdirs=", fextdirs_EQ, Joined, f_Group, INVALID, "", 0) -OPTION("-ffreestanding", ffreestanding, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fgnu-runtime", fgnu_runtime, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fheinous-gnu-extensions", fheinous_gnu_extensions, Flag, INVALID, INVALID, "", 0) -OPTION("-filelist", filelist, Separate, INVALID, INVALID, "l", 0) -OPTION("-findirect-virtual-calls", findirect_virtual_calls, Flag, f_Group, INVALID, "", 0) -OPTION("-flat_namespace", flat__namespace, Flag, INVALID, INVALID, "", 0) -OPTION("-flax-vector-conversions", flax_vector_conversions, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-flimited-precision=", flimited_precision_EQ, Joined, f_Group, INVALID, "", 0) -OPTION("-flto", flto, Flag, f_Group, INVALID, "", 0) -OPTION("-fmath-errno", fmath_errno, Flag, f_Group, INVALID, "", 0) -OPTION("-fmessage-length=", fmessage_length_EQ, Joined, clang_ignored_f_Group, INVALID, "", 0) -OPTION("-fms-extensions", fms_extensions, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fmudflapth", fmudflapth, Flag, f_Group, INVALID, "", 0) -OPTION("-fmudflap", fmudflap, Flag, f_Group, INVALID, "", 0) -OPTION("-fnested-functions", fnested_functions, Flag, f_Group, INVALID, "", 0) -OPTION("-fnext-runtime", fnext_runtime, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fno-blocks", fno_blocks, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fno-builtin", fno_builtin, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fno-caret-diagnostics", fno_caret_diagnostics, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fno-common", fno_common, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fno-constant-cfstrings", fno_constant_cfstrings, Flag, f_Group, INVALID, "", 0) -OPTION("-fno-eliminate-unused-debug-symbols", fno_eliminate_unused_debug_symbols, Flag, f_Group, INVALID, "", 0) -OPTION("-fno-math-errno", fno_math_errno, Flag, f_Group, INVALID, "", 0) -OPTION("-fno-pascal-strings", fno_pascal_strings, Flag, f_Group, INVALID, "", 0) -OPTION("-fno-show-column", fno_show_column, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fno-unwind-tables", fno_unwind_tables, Flag, f_Group, INVALID, "", 0) -OPTION("-fno-working-directory", fno_working_directory, Flag, f_Group, INVALID, "", 0) -OPTION("-fno-zero-initialized-in-bss", fno_zero_initialized_in_bss, Flag, f_Group, INVALID, "", 0) -OPTION("-fobjc-gc-only", fobjc_gc_only, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fobjc-gc", fobjc_gc, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fobjc-nonfragile-abi", fobjc_nonfragile_abi, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fobjc", fobjc, Flag, f_Group, INVALID, "", 0) -OPTION("-fomit-frame-pointer", fomit_frame_pointer, Flag, f_Group, INVALID, "", 0) -OPTION("-fopenmp", fopenmp, Flag, f_Group, INVALID, "", 0) -OPTION("-force_cpusubtype_ALL", force__cpusubtype__ALL, Flag, INVALID, INVALID, "", 0) -OPTION("-force_flat_namespace", force__flat__namespace, Flag, INVALID, INVALID, "", 0) -OPTION("-foutput-class-dir=", foutput_class_dir_EQ, Joined, f_Group, INVALID, "", 0) -OPTION("-fpascal-strings", fpascal_strings, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fpic", fpic, Flag, f_Group, INVALID, "", 0) -OPTION("-fpie", fpie, Flag, f_Group, INVALID, "", 0) -OPTION("-fprint-source-range-info", fprint_source_range_info, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fprofile-arcs", fprofile_arcs, Flag, f_Group, INVALID, "", 0) -OPTION("-fprofile-generate", fprofile_generate, Flag, f_Group, INVALID, "", 0) -OPTION("-framework", framework, Separate, INVALID, INVALID, "l", 0) -OPTION("-fsyntax-only", fsyntax_only, Flag, INVALID, INVALID, "d", 0) -OPTION("-ftemplate-depth-", ftemplate_depth_, Joined, f_Group, INVALID, "", 0) -OPTION("-fterminated-vtables", fterminated_vtables, Flag, f_Group, INVALID, "", 0) -OPTION("-ftime-report", ftime_report, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-ftraditional", ftraditional, Flag, f_Group, INVALID, "", 0) -OPTION("-funwind-tables", funwind_tables, Flag, f_Group, INVALID, "", 0) -OPTION("-fverbose-asm", fverbose_asm, Flag, f_Group, INVALID, "", 0) -OPTION("-fwritable-strings", fwritable_strings, Flag, clang_f_Group, INVALID, "", 0) -OPTION("-fzero-initialized-in-bss", fzero_initialized_in_bss, Flag, f_Group, INVALID, "", 0) -OPTION("-f", f, Joined, f_Group, INVALID, "", 0) -OPTION("-g0", g0, Joined, g_Group, INVALID, "", 0) -OPTION("-g3", g3, Joined, g_Group, INVALID, "", 0) -OPTION("-gfull", gfull, Joined, g_Group, INVALID, "", 0) -OPTION("-gstabs", gstabs, Joined, g_Group, INVALID, "", 0) -OPTION("-gused", gused, Joined, g_Group, INVALID, "", 0) -OPTION("-g", g_Flag, Flag, g_Group, INVALID, "", 0) -OPTION("-g", g_Joined, Joined, g_Group, INVALID, "", 0) -OPTION("-headerpad_max_install_names", headerpad__max__install__names, Joined, INVALID, INVALID, "", 0) -OPTION("-idirafter", idirafter, JoinedOrSeparate, i_Group, INVALID, "", 0) -OPTION("-imacros", imacros, JoinedOrSeparate, i_Group, INVALID, "", 0) -OPTION("-image_base", image__base, Separate, INVALID, INVALID, "", 0) -OPTION("-include", include, JoinedOrSeparate, i_Group, INVALID, "", 0) -OPTION("-init", init, Separate, INVALID, INVALID, "", 0) -OPTION("-install_name", install__name, Separate, INVALID, INVALID, "", 0) -OPTION("-iprefix", iprefix, JoinedOrSeparate, i_Group, INVALID, "", 0) -OPTION("-iquote", iquote, JoinedOrSeparate, i_Group, INVALID, "", 0) -OPTION("-isysroot", isysroot, JoinedOrSeparate, i_Group, INVALID, "", 0) -OPTION("-isystem", isystem, JoinedOrSeparate, i_Group, INVALID, "", 0) -OPTION("-iwithprefixbefore", iwithprefixbefore, JoinedOrSeparate, i_Group, INVALID, "", 0) -OPTION("-iwithprefix", iwithprefix, JoinedOrSeparate, i_Group, INVALID, "", 0) -OPTION("-iwithsysroot", iwithsysroot, JoinedOrSeparate, i_Group, INVALID, "", 0) -OPTION("-i", i, Joined, i_Group, INVALID, "", 0) -OPTION("-keep_private_externs", keep__private__externs, Flag, INVALID, INVALID, "", 0) -OPTION("-l", l, JoinedOrSeparate, INVALID, INVALID, "l", 0) -OPTION("-m32", m32, Flag, m_Group, INVALID, "", 0) -OPTION("-m3dnowa", m3dnowa, Flag, m_Group, INVALID, "", 0) -OPTION("-m3dnow", m3dnow, Flag, m_Group, INVALID, "", 0) -OPTION("-m64", m64, Flag, m_Group, INVALID, "", 0) -OPTION("-mconstant-cfstrings", mconstant_cfstrings, Flag, m_Group, INVALID, "", 0) -OPTION("-mdynamic-no-pic", mdynamic_no_pic, Joined, m_Group, INVALID, "", 0) -OPTION("-miphoneos-version-min=", miphoneos_version_min_EQ, Joined, m_Group, INVALID, "", 0) -OPTION("-mkernel", mkernel, Flag, m_Group, INVALID, "", 0) -OPTION("-mmacosx-version-min=", mmacosx_version_min_EQ, Joined, m_Group, INVALID, "", 0) -OPTION("-mmmx", mmmx, Flag, m_Group, INVALID, "", 0) -OPTION("-mno-3dnowa", mno_3dnowa, Flag, m_Group, INVALID, "", 0) -OPTION("-mno-3dnow", mno_3dnow, Flag, m_Group, INVALID, "", 0) -OPTION("-mno-constant-cfstrings", mno_constant_cfstrings, Flag, m_Group, INVALID, "", 0) -OPTION("-mno-mmx", mno_mmx, Flag, m_Group, INVALID, "", 0) -OPTION("-mno-pascal-strings", mno_pascal_strings, Flag, m_Group, INVALID, "", 0) -OPTION("-mno-red-zone", mno_red_zone, Flag, m_Group, INVALID, "", 0) -OPTION("-mno-soft-float", mno_soft_float, Flag, m_Group, INVALID, "", 0) -OPTION("-mno-sse2", mno_sse2, Flag, m_Group, INVALID, "", 0) -OPTION("-mno-sse3", mno_sse3, Flag, m_Group, INVALID, "", 0) -OPTION("-mno-sse41", mno_sse41, Flag, m_Group, INVALID, "", 0) -OPTION("-mno-sse42", mno_sse42, Flag, m_Group, INVALID, "", 0) -OPTION("-mno-sse4a", mno_sse4a, Flag, m_Group, INVALID, "", 0) -OPTION("-mno-sse", mno_sse, Flag, m_Group, INVALID, "", 0) -OPTION("-mno-ssse3", mno_ssse3, Flag, m_Group, INVALID, "", 0) -OPTION("-mno-warn-nonportable-cfstrings", mno_warn_nonportable_cfstrings, Flag, m_Group, INVALID, "", 0) -OPTION("-mpascal-strings", mpascal_strings, Flag, m_Group, INVALID, "", 0) -OPTION("-mred-zone", mred_zone, Flag, m_Group, INVALID, "", 0) -OPTION("-msoft-float", msoft_float, Flag, m_Group, INVALID, "", 0) -OPTION("-msse2", msse2, Flag, m_Group, INVALID, "", 0) -OPTION("-msse3", msse3, Flag, m_Group, INVALID, "", 0) -OPTION("-msse41", msse41, Flag, m_Group, INVALID, "", 0) -OPTION("-msse42", msse42, Flag, m_Group, INVALID, "", 0) -OPTION("-msse4a", msse4a, Flag, m_Group, INVALID, "", 0) -OPTION("-msse", msse, Flag, m_Group, INVALID, "", 0) -OPTION("-mssse3", mssse3, Flag, m_Group, INVALID, "", 0) -OPTION("-mtune=", mtune_EQ, Joined, m_Group, INVALID, "", 0) -OPTION("-multi_module", multi__module, Flag, INVALID, INVALID, "", 0) -OPTION("-multiply_defined_unused", multiply__defined__unused, Separate, INVALID, INVALID, "", 0) -OPTION("-multiply_defined", multiply__defined, Separate, INVALID, INVALID, "", 0) -OPTION("-mwarn-nonportable-cfstrings", mwarn_nonportable_cfstrings, Flag, m_Group, INVALID, "", 0) -OPTION("-m", m_Separate, Separate, m_Group, INVALID, "", 0) -OPTION("-m", m_Joined, Joined, m_Group, INVALID, "", 0) -OPTION("-no-cpp-precomp", no_cpp_precomp, Flag, INVALID, INVALID, "", 0) -OPTION("-no-integrated-cpp", no_integrated_cpp, Flag, INVALID, INVALID, "d", 0) -OPTION("-no_dead_strip_inits_and_terms", no__dead__strip__inits__and__terms, Flag, INVALID, INVALID, "", 0) -OPTION("-nodefaultlibs", nodefaultlibs, Flag, INVALID, INVALID, "", 0) -OPTION("-nofixprebinding", nofixprebinding, Flag, INVALID, INVALID, "", 0) -OPTION("-nomultidefs", nomultidefs, Flag, INVALID, INVALID, "", 0) -OPTION("-noprebind", noprebind, Flag, INVALID, INVALID, "", 0) -OPTION("-noseglinkedit", noseglinkedit, Flag, INVALID, INVALID, "", 0) -OPTION("-nostartfiles", nostartfiles, Flag, INVALID, INVALID, "", 0) -OPTION("-nostdinc", nostdinc, Flag, INVALID, INVALID, "", 0) -OPTION("-nostdlib", nostdlib, Flag, INVALID, INVALID, "", 0) -OPTION("-object", object, Flag, INVALID, INVALID, "", 0) -OPTION("-o", o, JoinedOrSeparate, INVALID, INVALID, "di", 0) -OPTION("-pagezero_size", pagezero__size, JoinedOrSeparate, INVALID, INVALID, "", 0) -OPTION("-pass-exit-codes", pass_exit_codes, Flag, INVALID, INVALID, "", 0) -OPTION("-pedantic-errors", pedantic_errors, Flag, pedantic_Group, INVALID, "", 0) -OPTION("-pedantic", pedantic, Flag, pedantic_Group, INVALID, "", 0) -OPTION("-pg", pg, Flag, INVALID, INVALID, "", 0) -OPTION("-pipe", pipe, Flag, INVALID, INVALID, "", 0) -OPTION("-prebind_all_twolevel_modules", prebind__all__twolevel__modules, Flag, INVALID, INVALID, "", 0) -OPTION("-prebind", prebind, Flag, INVALID, INVALID, "", 0) -OPTION("-preload", preload, Flag, INVALID, INVALID, "", 0) -OPTION("-print-file-name=", print_file_name_EQ, Joined, INVALID, INVALID, "", 0) -OPTION("-print-libgcc-file-name", print_libgcc_file_name, Flag, INVALID, INVALID, "", 0) -OPTION("-print-multi-directory", print_multi_directory, Flag, INVALID, INVALID, "u", 0) -OPTION("-print-multi-lib", print_multi_lib, Flag, INVALID, INVALID, "u", 0) -OPTION("-print-multi-os-directory", print_multi_os_directory, Flag, INVALID, INVALID, "u", 0) -OPTION("-print-prog-name=", print_prog_name_EQ, Joined, INVALID, INVALID, "", 0) -OPTION("-print-search-dirs", print_search_dirs, Flag, INVALID, INVALID, "", 0) -OPTION("-private_bundle", private__bundle, Flag, INVALID, INVALID, "", 0) -OPTION("-pthreads", pthreads, Flag, INVALID, INVALID, "", 0) -OPTION("-pthread", pthread, Flag, INVALID, INVALID, "", 0) -OPTION("-p", p, Flag, INVALID, INVALID, "", 0) -OPTION("-read_only_relocs", read__only__relocs, Separate, INVALID, INVALID, "", 0) -OPTION("-remap", remap, Flag, INVALID, INVALID, "", 0) -OPTION("-r", r, Flag, INVALID, INVALID, "", 0) -OPTION("-save-temps", save_temps, Flag, INVALID, INVALID, "d", 0) -OPTION("-sectalign", sectalign, MultiArg, INVALID, INVALID, "", 3) -OPTION("-sectcreate", sectcreate, MultiArg, INVALID, INVALID, "", 3) -OPTION("-sectobjectsymbols", sectobjectsymbols, MultiArg, INVALID, INVALID, "", 2) -OPTION("-sectorder", sectorder, MultiArg, INVALID, INVALID, "", 3) -OPTION("-seg1addr", seg1addr, JoinedOrSeparate, INVALID, INVALID, "", 0) -OPTION("-seg_addr_table_filename", seg__addr__table__filename, Separate, INVALID, INVALID, "", 0) -OPTION("-seg_addr_table", seg__addr__table, Separate, INVALID, INVALID, "", 0) -OPTION("-segaddr", segaddr, MultiArg, INVALID, INVALID, "", 2) -OPTION("-segcreate", segcreate, MultiArg, INVALID, INVALID, "", 3) -OPTION("-seglinkedit", seglinkedit, Flag, INVALID, INVALID, "", 0) -OPTION("-segprot", segprot, MultiArg, INVALID, INVALID, "", 3) -OPTION("-segs_read_only_addr", segs__read__only__addr, Separate, INVALID, INVALID, "", 0) -OPTION("-segs_read_write_addr", segs__read__write__addr, Separate, INVALID, INVALID, "", 0) -OPTION("-segs_read_", segs__read__, Joined, INVALID, INVALID, "", 0) -OPTION("-shared-libgcc", shared_libgcc, Flag, INVALID, INVALID, "", 0) -OPTION("-shared", shared, Flag, INVALID, INVALID, "", 0) -OPTION("-single_module", single__module, Flag, INVALID, INVALID, "", 0) -OPTION("-specs=", specs_EQ, Joined, INVALID, INVALID, "", 0) -OPTION("-specs", specs, Separate, INVALID, INVALID, "u", 0) -OPTION("-static-libgcc", static_libgcc, Flag, INVALID, INVALID, "", 0) -OPTION("-static", static, Flag, INVALID, INVALID, "", 0) -OPTION("-std=", std_EQ, Joined, INVALID, INVALID, "", 0) -OPTION("-sub_library", sub__library, JoinedOrSeparate, INVALID, INVALID, "", 0) -OPTION("-sub_umbrella", sub__umbrella, JoinedOrSeparate, INVALID, INVALID, "", 0) -OPTION("-s", s, Flag, INVALID, INVALID, "", 0) -OPTION("-time", time, Flag, INVALID, INVALID, "", 0) -OPTION("-traditional-cpp", traditional_cpp, Flag, INVALID, INVALID, "", 0) -OPTION("-traditional", traditional, Flag, INVALID, INVALID, "", 0) -OPTION("-trigraphs", trigraphs, Flag, INVALID, INVALID, "", 0) -OPTION("-twolevel_namespace_hints", twolevel__namespace__hints, Flag, INVALID, INVALID, "", 0) -OPTION("-twolevel_namespace", twolevel__namespace, Flag, INVALID, INVALID, "", 0) -OPTION("-t", t, Flag, INVALID, INVALID, "", 0) -OPTION("-umbrella", umbrella, Separate, INVALID, INVALID, "", 0) -OPTION("-undefined", undefined, JoinedOrSeparate, u_Group, INVALID, "", 0) -OPTION("-undef", undef, Flag, u_Group, INVALID, "", 0) -OPTION("-unexported_symbols_list", unexported__symbols__list, Separate, INVALID, INVALID, "", 0) -OPTION("-u", u, JoinedOrSeparate, u_Group, INVALID, "", 0) -OPTION("-v", v, Flag, INVALID, INVALID, "", 0) -OPTION("-weak-l", weak_l, Joined, INVALID, INVALID, "l", 0) -OPTION("-weak_framework", weak__framework, Separate, INVALID, INVALID, "l", 0) -OPTION("-weak_library", weak__library, Separate, INVALID, INVALID, "l", 0) -OPTION("-weak_reference_mismatches", weak__reference__mismatches, Separate, INVALID, INVALID, "", 0) -OPTION("-whatsloaded", whatsloaded, Flag, INVALID, INVALID, "", 0) -OPTION("-whyload", whyload, Flag, INVALID, INVALID, "", 0) -OPTION("-w", w, Flag, INVALID, INVALID, "", 0) -OPTION("-x", x, JoinedOrSeparate, INVALID, INVALID, "d", 0) -OPTION("-y", y, Joined, INVALID, INVALID, "", 0) +OPTION("-###", _HASH_HASH_HASH, Flag, INVALID, INVALID, "d", 0, 0, 0) +OPTION("--CLASSPATH=", _CLASSPATH_EQ, Joined, INVALID, fclasspath_EQ, "", 0, 0, 0) +OPTION("--CLASSPATH", _CLASSPATH, Separate, INVALID, fclasspath_EQ, "J", 0, 0, 0) +OPTION("--all-warnings", _all_warnings, Flag, INVALID, Wall, "", 0, 0, 0) +OPTION("--analyze", _analyze, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("--ansi", _ansi, Flag, INVALID, ansi, "", 0, 0, 0) +OPTION("--assemble", _assemble, Flag, INVALID, S, "", 0, 0, 0) +OPTION("--assert=", _assert_EQ, Joined, INVALID, A, "S", 0, 0, 0) +OPTION("--assert", _assert, Separate, INVALID, A, "", 0, 0, 0) +OPTION("--bootclasspath=", _bootclasspath_EQ, Joined, INVALID, fbootclasspath_EQ, "", 0, 0, 0) +OPTION("--bootclasspath", _bootclasspath, Separate, INVALID, fbootclasspath_EQ, "J", 0, 0, 0) +OPTION("--classpath=", _classpath_EQ, Joined, INVALID, fclasspath_EQ, "", 0, 0, 0) +OPTION("--classpath", _classpath, Separate, INVALID, fclasspath_EQ, "J", 0, 0, 0) +OPTION("--combine", _combine, Flag, INVALID, combine, "u", 0, 0, 0) +OPTION("--comments-in-macros", _comments_in_macros, Flag, INVALID, CC, "", 0, 0, 0) +OPTION("--comments", _comments, Flag, INVALID, C, "", 0, 0, 0) +OPTION("--compile", _compile, Flag, INVALID, c, "", 0, 0, 0) +OPTION("--constant-cfstrings", _constant_cfstrings, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("--coverage", _coverage, Flag, INVALID, coverage, "", 0, 0, 0) +OPTION("--debug=", _debug_EQ, Joined, INVALID, g_Flag, "u", 0, 0, 0) +OPTION("--debug", _debug, Flag, INVALID, g_Flag, "u", 0, 0, 0) +OPTION("--define-macro=", _define_macro_EQ, Joined, INVALID, D, "", 0, 0, 0) +OPTION("--define-macro", _define_macro, Separate, INVALID, D, "J", 0, 0, 0) +OPTION("--dependencies", _dependencies, Flag, INVALID, M, "", 0, 0, 0) +OPTION("--encoding=", _encoding_EQ, Joined, INVALID, fencoding_EQ, "", 0, 0, 0) +OPTION("--encoding", _encoding, Separate, INVALID, fencoding_EQ, "J", 0, 0, 0) +OPTION("--entry", _entry, Flag, INVALID, e, "", 0, 0, 0) +OPTION("--extdirs=", _extdirs_EQ, Joined, INVALID, fextdirs_EQ, "", 0, 0, 0) +OPTION("--extdirs", _extdirs, Separate, INVALID, fextdirs_EQ, "J", 0, 0, 0) +OPTION("--extra-warnings", _extra_warnings, Flag, INVALID, W, "", 0, 0, 0) +OPTION("--for-linker=", _for_linker_EQ, Joined, INVALID, Xlinker, "liS", 0, 0, 0) +OPTION("--for-linker", _for_linker, Separate, INVALID, Xlinker, "li", 0, 0, 0) +OPTION("--force-link=", _force_link_EQ, Joined, INVALID, u, "S", 0, 0, 0) +OPTION("--force-link", _force_link, Separate, INVALID, u, "", 0, 0, 0) +OPTION("--help", _help, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("--imacros=", _imacros_EQ, Joined, INVALID, imacros, "S", 0, 0, 0) +OPTION("--imacros", _imacros, Separate, INVALID, imacros, "", 0, 0, 0) +OPTION("--include-barrier", _include_barrier, Flag, INVALID, I_, "", 0, 0, 0) +OPTION("--include-directory-after=", _include_directory_after_EQ, Joined, INVALID, idirafter, "S", 0, 0, 0) +OPTION("--include-directory-after", _include_directory_after, Separate, INVALID, idirafter, "", 0, 0, 0) +OPTION("--include-directory=", _include_directory_EQ, Joined, INVALID, I, "", 0, 0, 0) +OPTION("--include-directory", _include_directory, Separate, INVALID, I, "J", 0, 0, 0) +OPTION("--include-prefix=", _include_prefix_EQ, Joined, INVALID, iprefix, "S", 0, 0, 0) +OPTION("--include-prefix", _include_prefix, Separate, INVALID, iprefix, "", 0, 0, 0) +OPTION("--include-with-prefix-after=", _include_with_prefix_after_EQ, Joined, INVALID, iwithprefix, "S", 0, 0, 0) +OPTION("--include-with-prefix-after", _include_with_prefix_after, Separate, INVALID, iwithprefix, "", 0, 0, 0) +OPTION("--include-with-prefix-before=", _include_with_prefix_before_EQ, Joined, INVALID, iwithprefixbefore, "S", 0, 0, 0) +OPTION("--include-with-prefix-before", _include_with_prefix_before, Separate, INVALID, iwithprefixbefore, "", 0, 0, 0) +OPTION("--include-with-prefix=", _include_with_prefix_EQ, Joined, INVALID, iwithprefix, "S", 0, 0, 0) +OPTION("--include-with-prefix", _include_with_prefix, Separate, INVALID, iwithprefix, "", 0, 0, 0) +OPTION("--include=", _include_EQ, Joined, INVALID, include, "S", 0, 0, 0) +OPTION("--include", _include, Separate, INVALID, include, "", 0, 0, 0) +OPTION("--language=", _language_EQ, Joined, INVALID, x, "S", 0, 0, 0) +OPTION("--language", _language, Separate, INVALID, x, "", 0, 0, 0) +OPTION("--library-directory=", _library_directory_EQ, Joined, INVALID, L, "S", 0, 0, 0) +OPTION("--library-directory", _library_directory, Separate, INVALID, L, "", 0, 0, 0) +OPTION("--machine-=", _machine__EQ, Joined, INVALID, m_Joined, "u", 0, 0, 0) +OPTION("--machine-", _machine_, Joined, INVALID, m_Joined, "u", 0, 0, 0) +OPTION("--machine=", _machine_EQ, Joined, INVALID, m_Joined, "", 0, 0, 0) +OPTION("--machine", _machine, Separate, INVALID, m_Joined, "J", 0, 0, 0) +OPTION("--no-integrated-cpp", _no_integrated_cpp, Flag, INVALID, no_integrated_cpp, "", 0, 0, 0) +OPTION("--no-line-commands", _no_line_commands, Flag, INVALID, P, "", 0, 0, 0) +OPTION("--no-standard-includes", _no_standard_includes, Flag, INVALID, nostdinc, "", 0, 0, 0) +OPTION("--no-standard-libraries", _no_standard_libraries, Flag, INVALID, nostdlib, "", 0, 0, 0) +OPTION("--no-warnings", _no_warnings, Flag, INVALID, w, "", 0, 0, 0) +OPTION("--optimize=", _optimize_EQ, Joined, INVALID, O, "u", 0, 0, 0) +OPTION("--optimize", _optimize, Flag, INVALID, O, "u", 0, 0, 0) +OPTION("--output-class-directory=", _output_class_directory_EQ, Joined, INVALID, foutput_class_dir_EQ, "", 0, 0, 0) +OPTION("--output-class-directory", _output_class_directory, Separate, INVALID, foutput_class_dir_EQ, "J", 0, 0, 0) +OPTION("--output=", _output_EQ, Joined, INVALID, o, "S", 0, 0, 0) +OPTION("--output", _output, Separate, INVALID, o, "", 0, 0, 0) +OPTION("--param=", _param_EQ, Joined, INVALID, _param, "S", 0, 0, 0) +OPTION("--param", _param, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("--pass-exit-codes", _pass_exit_codes, Flag, INVALID, pass_exit_codes, "", 0, 0, 0) +OPTION("--pedantic-errors", _pedantic_errors, Flag, INVALID, pedantic_errors, "", 0, 0, 0) +OPTION("--pedantic", _pedantic, Flag, INVALID, pedantic, "", 0, 0, 0) +OPTION("--pipe", _pipe, Flag, INVALID, pipe, "d", 0, 0, 0) +OPTION("--prefix=", _prefix_EQ, Joined, INVALID, B, "S", 0, 0, 0) +OPTION("--prefix", _prefix, Separate, INVALID, B, "", 0, 0, 0) +OPTION("--preprocess", _preprocess, Flag, INVALID, E, "", 0, 0, 0) +OPTION("--print-file-name=", _print_file_name_EQ, Joined, INVALID, print_file_name_EQ, "", 0, 0, 0) +OPTION("--print-file-name", _print_file_name, Separate, INVALID, print_file_name_EQ, "", 0, 0, 0) +OPTION("--print-libgcc-file-name", _print_libgcc_file_name, Flag, INVALID, print_libgcc_file_name, "", 0, 0, 0) +OPTION("--print-missing-file-dependencies", _print_missing_file_dependencies, Flag, INVALID, MG, "", 0, 0, 0) +OPTION("--print-multi-directory", _print_multi_directory, Flag, INVALID, print_multi_directory, "", 0, 0, 0) +OPTION("--print-multi-lib", _print_multi_lib, Flag, INVALID, print_multi_lib, "", 0, 0, 0) +OPTION("--print-multi-os-directory", _print_multi_os_directory, Flag, INVALID, print_multi_os_directory, "", 0, 0, 0) +OPTION("--print-prog-name=", _print_prog_name_EQ, Joined, INVALID, print_prog_name_EQ, "", 0, 0, 0) +OPTION("--print-prog-name", _print_prog_name, Separate, INVALID, print_prog_name_EQ, "", 0, 0, 0) +OPTION("--print-search-dirs", _print_search_dirs, Flag, INVALID, print_search_dirs, "", 0, 0, 0) +OPTION("--profile-blocks", _profile_blocks, Flag, INVALID, a, "", 0, 0, 0) +OPTION("--profile", _profile, Flag, INVALID, p, "", 0, 0, 0) +OPTION("--resource=", _resource_EQ, Joined, INVALID, fcompile_resource_EQ, "", 0, 0, 0) +OPTION("--resource", _resource, Separate, INVALID, fcompile_resource_EQ, "J", 0, 0, 0) +OPTION("--save-temps", _save_temps, Flag, INVALID, save_temps, "", 0, 0, 0) +OPTION("--specs=", _specs_EQ, Joined, INVALID, specs_EQ, "u", 0, 0, 0) +OPTION("--specs", _specs, Separate, INVALID, specs_EQ, "uJ", 0, 0, 0) +OPTION("--static", _static, Flag, INVALID, static, "", 0, 0, 0) +OPTION("--std=", _std_EQ, Joined, INVALID, std_EQ, "", 0, 0, 0) +OPTION("--std", _std, Separate, INVALID, std_EQ, "J", 0, 0, 0) +OPTION("--sysroot=", _sysroot_EQ, Joined, INVALID, INVALID, "", 0, 0, 0) +OPTION("--sysroot", _sysroot, Separate, INVALID, _sysroot_EQ, "J", 0, 0, 0) +OPTION("--target-help", _target_help, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("--trace-includes", _trace_includes, Flag, INVALID, H, "", 0, 0, 0) +OPTION("--traditional-cpp", _traditional_cpp, Flag, INVALID, traditional_cpp, "", 0, 0, 0) +OPTION("--traditional", _traditional, Flag, INVALID, traditional, "", 0, 0, 0) +OPTION("--trigraphs", _trigraphs, Flag, INVALID, trigraphs, "", 0, 0, 0) +OPTION("--undefine-macro=", _undefine_macro_EQ, Joined, INVALID, U, "", 0, 0, 0) +OPTION("--undefine-macro", _undefine_macro, Separate, INVALID, U, "J", 0, 0, 0) +OPTION("--user-dependencies", _user_dependencies, Flag, INVALID, MM, "", 0, 0, 0) +OPTION("--verbose", _verbose, Flag, INVALID, v, "", 0, 0, 0) +OPTION("--version", _version, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("--warn-=", _warn__EQ, Joined, INVALID, W, "u", 0, 0, 0) +OPTION("--warn-", _warn_, Joined, INVALID, W, "u", 0, 0, 0) +OPTION("--write-dependencies", _write_dependencies, Flag, INVALID, MD, "", 0, 0, 0) +OPTION("--write-user-dependencies", _write_user_dependencies, Flag, INVALID, MMD, "", 0, 0, 0) +OPTION("--", _, Joined, INVALID, f, "u", 0, 0, 0) +OPTION("-A", A, JoinedOrSeparate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-B", B, JoinedOrSeparate, INVALID, INVALID, "u", 0, 0, 0) +OPTION("-CC", CC, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-C", C, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-D", D, JoinedOrSeparate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-E", E, Flag, INVALID, INVALID, "d", 0, 0, 0) +OPTION("-F", F, JoinedOrSeparate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-H", H, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-I-", I_, Flag, I_Group, INVALID, "", 0, 0, 0) +OPTION("-I", I, JoinedOrSeparate, I_Group, INVALID, "", 0, 0, 0) +OPTION("-L", L, JoinedOrSeparate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-MD", MD, Flag, M_Group, INVALID, "", 0, 0, 0) +OPTION("-MF", MF, JoinedOrSeparate, M_Group, INVALID, "", 0, 0, 0) +OPTION("-MG", MG, Flag, M_Group, INVALID, "", 0, 0, 0) +OPTION("-MMD", MMD, Flag, M_Group, INVALID, "", 0, 0, 0) +OPTION("-MM", MM, Flag, M_Group, INVALID, "", 0, 0, 0) +OPTION("-MP", MP, Flag, M_Group, INVALID, "", 0, 0, 0) +OPTION("-MQ", MQ, JoinedOrSeparate, M_Group, INVALID, "", 0, 0, 0) +OPTION("-MT", MT, JoinedOrSeparate, M_Group, INVALID, "", 0, 0, 0) +OPTION("-Mach", Mach, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-M", M, Flag, M_Group, INVALID, "", 0, 0, 0) +OPTION("-O4", O4, Joined, O_Group, INVALID, "", 0, 0, 0) +OPTION("-ObjC++", ObjCXX, Flag, INVALID, INVALID, "d", 0, 0, 0) +OPTION("-ObjC", ObjC, Flag, INVALID, INVALID, "d", 0, 0, 0) +OPTION("-O", O, Joined, O_Group, INVALID, "", 0, 0, 0) +OPTION("-P", P, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-Qn", Qn, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-Q", Q, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-R", R, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-S", S, Flag, INVALID, INVALID, "d", 0, 0, 0) +OPTION("-Tbss", Tbss, JoinedOrSeparate, T_Group, INVALID, "", 0, 0, 0) +OPTION("-Tdata", Tdata, JoinedOrSeparate, T_Group, INVALID, "", 0, 0, 0) +OPTION("-Ttext", Ttext, JoinedOrSeparate, T_Group, INVALID, "", 0, 0, 0) +OPTION("-T", T, JoinedOrSeparate, T_Group, INVALID, "", 0, 0, 0) +OPTION("-U", U, JoinedOrSeparate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-V", V, JoinedOrSeparate, INVALID, INVALID, "u", 0, 0, 0) +OPTION("-Wa,", Wa_COMMA, CommaJoined, INVALID, INVALID, "", 0, 0, 0) +OPTION("-Wall", Wall, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wcast-align", Wcast_align, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wchar-align", Wchar_align, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wchar-subscripts", Wchar_subscripts, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wdeprecated-declarations", Wdeprecated_declarations, Flag, clang_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Werror", Werror, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wextra", Wextra, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wfloat-equal", Wfloat_equal, Flag, clang_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wimplicit-function-declaration", Wimplicit_function_declaration, Flag, clang_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Winline", Winline, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wint-to-pointer-cast", Wint_to_pointer_cast, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wl,", Wl_COMMA, CommaJoined, INVALID, INVALID, "li", 0, 0, 0) +OPTION("-Wmissing-braces", Wmissing_braces, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wmissing-prototypes", Wmissing_prototypes, Flag, clang_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wmost", Wmost, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wnested-externs", Wnested_externs, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wno-deprecated-declarations", Wno_deprecated_declarations, Flag, clang_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wno-format-nonliteral", Wno_format_nonliteral, Flag, clang_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wno-format-y2k", Wno_format_y2k, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wno-four-char-constants", Wno_four_char_constants, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wno-missing-field-initializers", Wno_missing_field_initializers, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wno-missing-prototypes", Wno_missing_prototypes, Flag, clang_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wno-nonportable-cfstrings", Wno_nonportable_cfstrings, Joined, W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wno-pointer-sign", Wno_pointer_sign, Flag, clang_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wno-strict-selector-match", Wno_strict_selector_match, Flag, clang_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wno-trigraphs", Wno_trigraphs, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wno-unknown-pragmas", Wno_unknown_pragmas, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wno-unused-parameter", Wno_unused_parameter, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wnonportable-cfstrings", Wnonportable_cfstrings, Joined, W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wp,", Wp_COMMA, CommaJoined, INVALID, INVALID, "", 0, 0, 0) +OPTION("-Wparentheses", Wparentheses, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wpointer-arith", Wpointer_arith, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wpointer-to-int-cast", Wpointer_to_int_cast, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wreadonly-setter-attrs", Wreadonly_setter_attrs, Flag, clang_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wreturn-type", Wreturn_type, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wshorten-64-to-32", Wshorten_64_to_32, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wswitch", Wswitch, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wundef", Wundef, Flag, clang_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wunused-function", Wunused_function, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wunused-label", Wunused_label, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wunused-macros", Wunused_macros, Flag, clang_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wunused-value", Wunused_value, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wunused-variable", Wunused_variable, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-Wwrite-strings", Wwrite_strings, Flag, clang_ignored_W_Group, INVALID, "", 0, 0, 0) +OPTION("-W", W, Joined, W_Group, INVALID, "", 0, 0, 0) +OPTION("-Xanalyzer", Xanalyzer, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-Xarch_", Xarch__, JoinedAndSeparate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-Xassembler", Xassembler, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-Xclang", Xclang, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-Xlinker", Xlinker, Separate, INVALID, INVALID, "li", 0, 0, 0) +OPTION("-Xpreprocessor", Xpreprocessor, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-X", X_Flag, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-X", X_Joined, Joined, INVALID, INVALID, "", 0, 0, 0) +OPTION("-Z", Z_Flag, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-Z", Z_Joined, Joined, INVALID, INVALID, "", 0, 0, 0) +OPTION("-all_load", all__load, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-allowable_client", allowable__client, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-ansi", ansi, Flag, a_Group, INVALID, "", 0, 0, 0) +OPTION("-arch", arch, Separate, INVALID, INVALID, "d", 0, 0, 0) +OPTION("-a", a, Joined, a_Group, INVALID, "", 0, 0, 0) +OPTION("-bind_at_load", bind__at__load, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-bundle_loader", bundle__loader, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-bundle", bundle, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-b", b, JoinedOrSeparate, INVALID, INVALID, "u", 0, 0, 0) +OPTION("-client_name", client__name, JoinedOrSeparate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-combine", combine, Flag, INVALID, INVALID, "du", 0, 0, 0) +OPTION("-compatibility_version", compatibility__version, JoinedOrSeparate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-coverage", coverage, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-cpp-precomp", cpp_precomp, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-current_version", current__version, JoinedOrSeparate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-c", c, Flag, INVALID, INVALID, "d", 0, 0, 0) +OPTION("-dA", dA, Flag, d_Group, INVALID, "", 0, 0, 0) +OPTION("-dM", dM, Flag, d_Group, INVALID, "", 0, 0, 0) +OPTION("-dead_strip", dead__strip, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-dependency-file", dependency_file, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-dumpmachine", dumpmachine, Flag, INVALID, INVALID, "u", 0, 0, 0) +OPTION("-dumpspecs", dumpspecs, Flag, INVALID, INVALID, "u", 0, 0, 0) +OPTION("-dumpversion", dumpversion, Flag, INVALID, INVALID, "u", 0, 0, 0) +OPTION("-dylib_file", dylib__file, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-dylinker_install_name", dylinker__install__name, JoinedOrSeparate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-dylinker", dylinker, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-dynamiclib", dynamiclib, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-dynamic", dynamic, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-d", d_Flag, Flag, d_Group, INVALID, "", 0, 0, 0) +OPTION("-d", d_Joined, Joined, d_Group, INVALID, "", 0, 0, 0) +OPTION("-emit-llvm", emit_llvm, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-exported_symbols_list", exported__symbols__list, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-e", e, JoinedOrSeparate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-fPIC", fPIC, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fPIE", fPIE, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fapple-kext", fapple_kext, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fasm-blocks", fasm_blocks, Flag, clang_ignored_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fastcp", fastcp, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fastf", fastf, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fast", fast, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fblocks", fblocks, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fbootclasspath=", fbootclasspath_EQ, Joined, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fbuiltin", fbuiltin, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fclasspath=", fclasspath_EQ, Joined, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fcommon", fcommon, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fcompile-resource=", fcompile_resource_EQ, Joined, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fconstant-cfstrings", fconstant_cfstrings, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fcreate-profile", fcreate_profile, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fdebug-pass-arguments", fdebug_pass_arguments, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fdebug-pass-structure", fdebug_pass_structure, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-feliminate-unused-debug-symbols", feliminate_unused_debug_symbols, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-femit-all-decls", femit_all_decls, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fencoding=", fencoding_EQ, Joined, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fexceptions", fexceptions, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fextdirs=", fextdirs_EQ, Joined, f_Group, INVALID, "", 0, 0, 0) +OPTION("-ffreestanding", ffreestanding, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fgnu-runtime", fgnu_runtime, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fheinous-gnu-extensions", fheinous_gnu_extensions, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-filelist", filelist, Separate, INVALID, INVALID, "l", 0, 0, 0) +OPTION("-findirect-virtual-calls", findirect_virtual_calls, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-flat_namespace", flat__namespace, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-flax-vector-conversions", flax_vector_conversions, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-flimited-precision=", flimited_precision_EQ, Joined, f_Group, INVALID, "", 0, 0, 0) +OPTION("-flto", flto, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fmath-errno", fmath_errno, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fmessage-length=", fmessage_length_EQ, Joined, clang_ignored_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fms-extensions", fms_extensions, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fmudflapth", fmudflapth, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fmudflap", fmudflap, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fnested-functions", fnested_functions, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fnext-runtime", fnext_runtime, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fno-blocks", fno_blocks, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fno-builtin", fno_builtin, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fno-caret-diagnostics", fno_caret_diagnostics, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fno-common", fno_common, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fno-constant-cfstrings", fno_constant_cfstrings, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fno-eliminate-unused-debug-symbols", fno_eliminate_unused_debug_symbols, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fno-math-errno", fno_math_errno, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fno-pascal-strings", fno_pascal_strings, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fno-show-column", fno_show_column, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fno-unwind-tables", fno_unwind_tables, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fno-working-directory", fno_working_directory, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fno-zero-initialized-in-bss", fno_zero_initialized_in_bss, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fobjc-gc-only", fobjc_gc_only, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fobjc-gc", fobjc_gc, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fobjc-nonfragile-abi", fobjc_nonfragile_abi, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fobjc", fobjc, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fomit-frame-pointer", fomit_frame_pointer, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fopenmp", fopenmp, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-force_cpusubtype_ALL", force__cpusubtype__ALL, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-force_flat_namespace", force__flat__namespace, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-foutput-class-dir=", foutput_class_dir_EQ, Joined, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fpascal-strings", fpascal_strings, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fpic", fpic, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fpie", fpie, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fprint-source-range-info", fprint_source_range_info, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fprofile-arcs", fprofile_arcs, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fprofile-generate", fprofile_generate, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-framework", framework, Separate, INVALID, INVALID, "l", 0, 0, 0) +OPTION("-fsyntax-only", fsyntax_only, Flag, INVALID, INVALID, "d", 0, 0, 0) +OPTION("-ftemplate-depth-", ftemplate_depth_, Joined, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fterminated-vtables", fterminated_vtables, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-ftime-report", ftime_report, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-ftraditional", ftraditional, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-funwind-tables", funwind_tables, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fverbose-asm", fverbose_asm, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-fwritable-strings", fwritable_strings, Flag, clang_f_Group, INVALID, "", 0, 0, 0) +OPTION("-fzero-initialized-in-bss", fzero_initialized_in_bss, Flag, f_Group, INVALID, "", 0, 0, 0) +OPTION("-f", f, Joined, f_Group, INVALID, "", 0, 0, 0) +OPTION("-g0", g0, Joined, g_Group, INVALID, "", 0, 0, 0) +OPTION("-g3", g3, Joined, g_Group, INVALID, "", 0, 0, 0) +OPTION("-gfull", gfull, Joined, g_Group, INVALID, "", 0, 0, 0) +OPTION("-gstabs", gstabs, Joined, g_Group, INVALID, "", 0, 0, 0) +OPTION("-gused", gused, Joined, g_Group, INVALID, "", 0, 0, 0) +OPTION("-g", g_Flag, Flag, g_Group, INVALID, "", 0, 0, 0) +OPTION("-g", g_Joined, Joined, g_Group, INVALID, "", 0, 0, 0) +OPTION("-headerpad_max_install_names", headerpad__max__install__names, Joined, INVALID, INVALID, "", 0, 0, 0) +OPTION("-idirafter", idirafter, JoinedOrSeparate, i_Group, INVALID, "", 0, 0, 0) +OPTION("-imacros", imacros, JoinedOrSeparate, i_Group, INVALID, "", 0, 0, 0) +OPTION("-image_base", image__base, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-include", include, JoinedOrSeparate, i_Group, INVALID, "", 0, 0, 0) +OPTION("-init", init, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-install_name", install__name, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-iprefix", iprefix, JoinedOrSeparate, i_Group, INVALID, "", 0, 0, 0) +OPTION("-iquote", iquote, JoinedOrSeparate, i_Group, INVALID, "", 0, 0, 0) +OPTION("-isysroot", isysroot, JoinedOrSeparate, i_Group, INVALID, "", 0, 0, 0) +OPTION("-isystem", isystem, JoinedOrSeparate, i_Group, INVALID, "", 0, 0, 0) +OPTION("-iwithprefixbefore", iwithprefixbefore, JoinedOrSeparate, i_Group, INVALID, "", 0, 0, 0) +OPTION("-iwithprefix", iwithprefix, JoinedOrSeparate, i_Group, INVALID, "", 0, 0, 0) +OPTION("-iwithsysroot", iwithsysroot, JoinedOrSeparate, i_Group, INVALID, "", 0, 0, 0) +OPTION("-i", i, Joined, i_Group, INVALID, "", 0, 0, 0) +OPTION("-keep_private_externs", keep__private__externs, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-l", l, JoinedOrSeparate, INVALID, INVALID, "l", 0, 0, 0) +OPTION("-m32", m32, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-m3dnowa", m3dnowa, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-m3dnow", m3dnow, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-m64", m64, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mconstant-cfstrings", mconstant_cfstrings, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mdynamic-no-pic", mdynamic_no_pic, Joined, m_Group, INVALID, "", 0, 0, 0) +OPTION("-miphoneos-version-min=", miphoneos_version_min_EQ, Joined, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mkernel", mkernel, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mmacosx-version-min=", mmacosx_version_min_EQ, Joined, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mmmx", mmmx, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mno-3dnowa", mno_3dnowa, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mno-3dnow", mno_3dnow, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mno-constant-cfstrings", mno_constant_cfstrings, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mno-mmx", mno_mmx, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mno-pascal-strings", mno_pascal_strings, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mno-red-zone", mno_red_zone, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mno-soft-float", mno_soft_float, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mno-sse2", mno_sse2, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mno-sse3", mno_sse3, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mno-sse41", mno_sse41, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mno-sse42", mno_sse42, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mno-sse4a", mno_sse4a, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mno-sse", mno_sse, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mno-ssse3", mno_ssse3, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mno-warn-nonportable-cfstrings", mno_warn_nonportable_cfstrings, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mpascal-strings", mpascal_strings, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mred-zone", mred_zone, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-msoft-float", msoft_float, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-msse2", msse2, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-msse3", msse3, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-msse41", msse41, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-msse42", msse42, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-msse4a", msse4a, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-msse", msse, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mssse3", mssse3, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-mtune=", mtune_EQ, Joined, m_Group, INVALID, "", 0, 0, 0) +OPTION("-multi_module", multi__module, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-multiply_defined_unused", multiply__defined__unused, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-multiply_defined", multiply__defined, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-mwarn-nonportable-cfstrings", mwarn_nonportable_cfstrings, Flag, m_Group, INVALID, "", 0, 0, 0) +OPTION("-m", m_Separate, Separate, m_Group, INVALID, "", 0, 0, 0) +OPTION("-m", m_Joined, Joined, m_Group, INVALID, "", 0, 0, 0) +OPTION("-no-cpp-precomp", no_cpp_precomp, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-no-integrated-cpp", no_integrated_cpp, Flag, INVALID, INVALID, "d", 0, 0, 0) +OPTION("-no_dead_strip_inits_and_terms", no__dead__strip__inits__and__terms, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-nodefaultlibs", nodefaultlibs, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-nofixprebinding", nofixprebinding, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-nomultidefs", nomultidefs, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-noprebind", noprebind, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-noseglinkedit", noseglinkedit, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-nostartfiles", nostartfiles, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-nostdinc", nostdinc, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-nostdlib", nostdlib, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-object", object, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-o", o, JoinedOrSeparate, INVALID, INVALID, "di", 0, 0, 0) +OPTION("-pagezero_size", pagezero__size, JoinedOrSeparate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-pass-exit-codes", pass_exit_codes, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-pedantic-errors", pedantic_errors, Flag, pedantic_Group, INVALID, "", 0, 0, 0) +OPTION("-pedantic", pedantic, Flag, pedantic_Group, INVALID, "", 0, 0, 0) +OPTION("-pg", pg, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-pipe", pipe, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-prebind_all_twolevel_modules", prebind__all__twolevel__modules, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-prebind", prebind, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-preload", preload, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-print-file-name=", print_file_name_EQ, Joined, INVALID, INVALID, "", 0, 0, 0) +OPTION("-print-libgcc-file-name", print_libgcc_file_name, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-print-multi-directory", print_multi_directory, Flag, INVALID, INVALID, "u", 0, 0, 0) +OPTION("-print-multi-lib", print_multi_lib, Flag, INVALID, INVALID, "u", 0, 0, 0) +OPTION("-print-multi-os-directory", print_multi_os_directory, Flag, INVALID, INVALID, "u", 0, 0, 0) +OPTION("-print-prog-name=", print_prog_name_EQ, Joined, INVALID, INVALID, "", 0, 0, 0) +OPTION("-print-search-dirs", print_search_dirs, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-private_bundle", private__bundle, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-pthreads", pthreads, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-pthread", pthread, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-p", p, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-read_only_relocs", read__only__relocs, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-remap", remap, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-r", r, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-save-temps", save_temps, Flag, INVALID, INVALID, "d", 0, 0, 0) +OPTION("-sectalign", sectalign, MultiArg, INVALID, INVALID, "", 3, 0, 0) +OPTION("-sectcreate", sectcreate, MultiArg, INVALID, INVALID, "", 3, 0, 0) +OPTION("-sectobjectsymbols", sectobjectsymbols, MultiArg, INVALID, INVALID, "", 2, 0, 0) +OPTION("-sectorder", sectorder, MultiArg, INVALID, INVALID, "", 3, 0, 0) +OPTION("-seg1addr", seg1addr, JoinedOrSeparate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-seg_addr_table_filename", seg__addr__table__filename, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-seg_addr_table", seg__addr__table, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-segaddr", segaddr, MultiArg, INVALID, INVALID, "", 2, 0, 0) +OPTION("-segcreate", segcreate, MultiArg, INVALID, INVALID, "", 3, 0, 0) +OPTION("-seglinkedit", seglinkedit, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-segprot", segprot, MultiArg, INVALID, INVALID, "", 3, 0, 0) +OPTION("-segs_read_only_addr", segs__read__only__addr, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-segs_read_write_addr", segs__read__write__addr, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-segs_read_", segs__read__, Joined, INVALID, INVALID, "", 0, 0, 0) +OPTION("-shared-libgcc", shared_libgcc, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-shared", shared, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-single_module", single__module, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-specs=", specs_EQ, Joined, INVALID, INVALID, "", 0, 0, 0) +OPTION("-specs", specs, Separate, INVALID, INVALID, "u", 0, 0, 0) +OPTION("-static-libgcc", static_libgcc, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-static", static, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-std=", std_EQ, Joined, INVALID, INVALID, "", 0, 0, 0) +OPTION("-sub_library", sub__library, JoinedOrSeparate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-sub_umbrella", sub__umbrella, JoinedOrSeparate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-s", s, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-time", time, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-traditional-cpp", traditional_cpp, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-traditional", traditional, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-trigraphs", trigraphs, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-twolevel_namespace_hints", twolevel__namespace__hints, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-twolevel_namespace", twolevel__namespace, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-t", t, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-umbrella", umbrella, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-undefined", undefined, JoinedOrSeparate, u_Group, INVALID, "", 0, 0, 0) +OPTION("-undef", undef, Flag, u_Group, INVALID, "", 0, 0, 0) +OPTION("-unexported_symbols_list", unexported__symbols__list, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-u", u, JoinedOrSeparate, u_Group, INVALID, "", 0, 0, 0) +OPTION("-v", v, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-weak-l", weak_l, Joined, INVALID, INVALID, "l", 0, 0, 0) +OPTION("-weak_framework", weak__framework, Separate, INVALID, INVALID, "l", 0, 0, 0) +OPTION("-weak_library", weak__library, Separate, INVALID, INVALID, "l", 0, 0, 0) +OPTION("-weak_reference_mismatches", weak__reference__mismatches, Separate, INVALID, INVALID, "", 0, 0, 0) +OPTION("-whatsloaded", whatsloaded, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-whyload", whyload, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-w", w, Flag, INVALID, INVALID, "", 0, 0, 0) +OPTION("-x", x, JoinedOrSeparate, INVALID, INVALID, "d", 0, 0, 0) +OPTION("-y", y, Joined, INVALID, INVALID, "", 0, 0, 0) diff --git a/include/clang/Driver/Options.h b/include/clang/Driver/Options.h index d5bc4d5b8a..83d98dde2c 100644 --- a/include/clang/Driver/Options.h +++ b/include/clang/Driver/Options.h @@ -17,7 +17,8 @@ namespace options { OPT_INVALID = 0, // This is not an option ID. OPT_INPUT, // Reserved ID for input option. OPT_UNKNOWN, // Reserved ID for unknown option. -#define OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM) OPT_##ID, +#define OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \ + HELPTEXT, METAVAR) OPT_##ID, #include "clang/Driver/Options.def" LastOption #undef OPTION @@ -60,6 +61,14 @@ namespace options { /// creating it if necessary. const Option *getOption(options::ID id) const; + /// getOptionHelpText - Get the help text to use to describe this + /// option. + const char *getOptionHelpText(options::ID id) const; + + /// getOptionMetaVar - Get the meta-variable name to use when + /// describing this options values in the help text. + const char *getOptionMetaVar(options::ID id) const; + /// parseOneArg - Parse a single argument; returning the new /// argument and updating Index. /// diff --git a/lib/Driver/OptTable.cpp b/lib/Driver/OptTable.cpp index 2e44999580..4c198fc24f 100644 --- a/lib/Driver/OptTable.cpp +++ b/lib/Driver/OptTable.cpp @@ -21,6 +21,8 @@ using namespace clang::driver::options; struct Info { const char *Name; const char *Flags; + const char *HelpText; + const char *MetaVar; Option::OptionClass Kind; unsigned GroupID; @@ -72,12 +74,14 @@ static inline bool operator<(const Info &A, const Info &B) { static Info OptionInfos[] = { // The InputOption info - { "", "d", Option::InputClass, OPT_INVALID, OPT_INVALID, 0 }, + { "", "d", 0, 0, Option::InputClass, OPT_INVALID, OPT_INVALID, 0 }, // The UnknownOption info - { "", "", Option::UnknownClass, OPT_INVALID, OPT_INVALID, 0 }, + { "", "", 0, 0, Option::UnknownClass, OPT_INVALID, OPT_INVALID, 0 }, -#define OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM) \ - { NAME, FLAGS, Option::KIND##Class, OPT_##GROUP, OPT_##ALIAS, PARAM }, +#define OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \ + HELPTEXT, METAVAR) \ + { NAME, FLAGS, HELPTEXT, METAVAR, \ + Option::KIND##Class, OPT_##GROUP, OPT_##ALIAS, PARAM }, #include "clang/Driver/Options.def" }; static const unsigned numOptions = sizeof(OptionInfos) / sizeof(OptionInfos[0]); @@ -133,6 +137,16 @@ const char *OptTable::getOptionName(options::ID id) const { return getInfo(id).Name; } +const char *OptTable::getOptionHelpText(options::ID id) const { + return getInfo(id).HelpText; +} + +const char *OptTable::getOptionMetaVar(options::ID id) const { + const char *Name = getInfo(id).MetaVar; + // FIXME: This will need translation. + return Name ? Name : ""; +} + const Option *OptTable::getOption(options::ID id) const { if (id == OPT_INVALID) return 0;