// INVALID if the option is not an alias.
// The sixth value is a string containing option flags. Valid values:
-// l: The option is a linker input.
+// d: The option is a "driver" option, and should not be forwarded to
+// gcc.
//
// i: The option should not render the name when rendered as an
// input.
//
+// l: The option is a linker input.
+//
// u: The option is unsupported, and the driver will reject command
// lines that use it.
//
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, "", 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("-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, "", 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("-MT", MT, JoinedOrSeparate, M_Group, INVALID, "", 0)
OPTION("-Mach", Mach, Flag, INVALID, INVALID, "", 0)
OPTION("-M", M, Flag, M_Group, INVALID, "", 0)
-OPTION("-ObjC++", ObjCXX, Flag, INVALID, INVALID, "", 0)
-OPTION("-ObjC", ObjC, Flag, INVALID, INVALID, "", 0)
+OPTION("-ObjC++", ObjCXX, Flag, INVALID, INVALID, "d", 0)
+OPTION("-ObjC", ObjC, Flag, INVALID, INVALID, "d", 0)
OPTION("-O", O, Joined, INVALID, 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, "", 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("-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, "", 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, "u", 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, "", 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("-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, "", 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("-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, "", 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("-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, "i", 0)
+OPTION("-o", o, JoinedOrSeparate, INVALID, INVALID, "di", 0)
OPTION("-pagezero_size", pagezero__size, Flag, 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("-read_only_relocs", read__only__relocs, Separate, INVALID, INVALID, "", 0)
OPTION("-remap", remap, Flag, INVALID, INVALID, "", 0)
OPTION("-r", r, JoinedOrSeparate, INVALID, INVALID, "", 0)
-OPTION("-save-temps", save_temps, 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("-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, "", 0)
+OPTION("-x", x, JoinedOrSeparate, INVALID, INVALID, "d", 0)
OPTION("-y", y, Joined, INVALID, INVALID, "", 0)