diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-11-19 01:03:50 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-11-19 01:03:50 +0000 |
commit | 64bdce3f02091b0a4e1528d690495970c1249803 (patch) | |
tree | 899273c02f152730aa6c21d35d2b954112cc2438 | |
parent | 6be2b1798b452104d2f093fe010e39181da56cd9 (diff) |
Driver: Switch to using TableGen'erated Options.inc instead of Options.def file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89288 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/CMakeLists.txt | 1 | ||||
-rw-r--r-- | include/clang/Driver/CMakeLists.txt | 5 | ||||
-rw-r--r-- | include/clang/Driver/Makefile | 12 | ||||
-rw-r--r-- | include/clang/Driver/OptParser.td | 116 | ||||
-rw-r--r-- | include/clang/Driver/Options.def | 663 | ||||
-rw-r--r-- | include/clang/Driver/Options.h | 2 | ||||
-rw-r--r-- | include/clang/Driver/Options.td | 607 | ||||
-rw-r--r-- | include/clang/Makefile | 2 | ||||
-rw-r--r-- | lib/Driver/CMakeLists.txt | 2 | ||||
-rw-r--r-- | lib/Driver/DriverOptions.cpp | 2 |
10 files changed, 745 insertions, 667 deletions
diff --git a/include/clang/CMakeLists.txt b/include/clang/CMakeLists.txt index 39e3698a16..61d2bf602d 100644 --- a/include/clang/CMakeLists.txt +++ b/include/clang/CMakeLists.txt @@ -1 +1,2 @@ add_subdirectory(Basic) +add_subdirectory(Driver) diff --git a/include/clang/Driver/CMakeLists.txt b/include/clang/Driver/CMakeLists.txt new file mode 100644 index 0000000000..18b291c371 --- /dev/null +++ b/include/clang/Driver/CMakeLists.txt @@ -0,0 +1,5 @@ +set(LLVM_TARGET_DEFINITIONS Options.td) +tablegen(Options.inc + -gen-opt-parser-defs) +add_custom_target(ClangDriverOptions + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Options.inc) diff --git a/include/clang/Driver/Makefile b/include/clang/Driver/Makefile new file mode 100644 index 0000000000..d263fbe5c2 --- /dev/null +++ b/include/clang/Driver/Makefile @@ -0,0 +1,12 @@ +LEVEL = ../../../../.. +BUILT_SOURCES = Options.inc + +TABLEGEN_INC_FILES_COMMON = 1 + +include $(LEVEL)/Makefile.common + +$(ObjDir)/Options.inc.tmp : Options.td OptParser.td $(ObjDir)/.dir + $(Echo) "Building Clang Driver Option tables with tblgen" + $(Verb) $(TableGen) -gen-opt-parser-defs -o $(call SYSPATH, $@) $< + + diff --git a/include/clang/Driver/OptParser.td b/include/clang/Driver/OptParser.td new file mode 100644 index 0000000000..70b59c69c2 --- /dev/null +++ b/include/clang/Driver/OptParser.td @@ -0,0 +1,116 @@ +//===--- OptParser.td - Common Option Parsing Interfaces ------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file defines the common interfaces used by the option parsing TableGen +// backend. +// +//===----------------------------------------------------------------------===// + +// Define the kinds of options. + +class OptionKind<string name, int predecence = 0> { + string Name = name; + // The kind precedence, kinds with lower precedence are matched first. + int Precedence = predecence; +} + +// An option group. +def KIND_GROUP : OptionKind<"Group">; +// A flag with no values. +def KIND_FLAG : OptionKind<"Flag">; +// An option which prefixes its (single) value. +def KIND_JOINED : OptionKind<"Joined", 1>; +// An option which is followed by its value. +def KIND_SEPARATE : OptionKind<"Separate">; +// An option followed by its values, which are separated by commas. +def KIND_COMMAJOINED : OptionKind<"CommaJoined">; +// An option which is which takes multiple (separate) arguments. +def KIND_MULTIARG : OptionKind<"MultiArg">; +// An option which is either joined to its (non-empty) value, or followed by its +// value. +def KIND_JOINED_OR_SEPARATE : OptionKind<"JoinedOrSeparate">; +// An option which is both joined to its (first) value, and followed by its +// (second) value. +def KIND_JOINED_AND_SEPARATE : OptionKind<"JoinedAndSeparate">; + +// Define the option flags. + +class OptionFlag {} + +// DriverOption - The option is a "driver" option, and should not be forwarded +// to gcc. +def DriverOption : OptionFlag; + +// LinkerInput - The option is a linker input. +def LinkerInput : OptionFlag; + +// NoArgumentUnused - Don't report argument unused warnings for this option; this +// is useful for options like -static or -dynamic which a user may always end up +// passing, even if the platform defaults to (or only supports) that option. +def NoArgumentUnused : OptionFlag; + +// RenderAsInput - The option should not render the name when rendered as an +// input (i.e., the option is rendered as values). +def RenderAsInput : OptionFlag; + +// RenderJoined - The option should be rendered joined, even if separate (only +// sensible on single value separate options). +def RenderJoined : OptionFlag; + +// RenderSeparate - The option should be rendered separately, even if joined +// (only sensible on joined options). +def RenderSeparate : OptionFlag; + +// Unsupported - The option is unsupported, and the driver will reject command +// lines that use it. +def Unsupported : OptionFlag; + +// Define the option group class. + +class OptionGroup<string name> { + string EnumName = ?; // Uses the def name if undefined. + string Name = name; + OptionGroup Group = ?; +} + +// Define the option class. + +class Option<string name, OptionKind kind> { + string EnumName = ?; // Uses the def name if undefined. + string Name = name; + OptionKind Kind = kind; + // Used by MultiArg option kind. + int NumArgs = 0; + string HelpText = ?; + string MetaVarName = ?; + list<OptionFlag> Flags = []; + OptionGroup Group = ?; + Option Alias = ?; +} + +// Helpers for defining options. + +class Flag<string name> : Option<name, KIND_FLAG>; +class Joined<string name> : Option<name, KIND_JOINED>; +class Separate<string name> : Option<name, KIND_SEPARATE>; +class CommaJoined<string name> : Option<name, KIND_COMMAJOINED>; +class MultiArg<string name, int numargs> : Option<name, KIND_MULTIARG> { + int NumArgs = numargs; +} +class JoinedOrSeparate<string name> : Option<name, KIND_JOINED_OR_SEPARATE>; +class JoinedAndSeparate<string name> : Option<name, KIND_JOINED_AND_SEPARATE>; + +// Mix-ins for adding optional attributes. + +class Alias<Option alias> { Option Alias = alias; } +class EnumName<string name> { string EnumName = name; } +class Flags<list<OptionFlag> flags> { list<OptionFlag> Flags = flags; } +class Group<OptionGroup group> { OptionGroup Group = group; } +class HelpText<string text> { string HelpText = text; } +class MetaVarName<string name> { string MetaVarName = name; } diff --git a/include/clang/Driver/Options.def b/include/clang/Driver/Options.def deleted file mode 100644 index 292201cef4..0000000000 --- a/include/clang/Driver/Options.def +++ /dev/null @@ -1,663 +0,0 @@ -//===--- Options.def - Driver option info -----------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file defines the driver option information. Users of this file -// must define the OPTION macro to make use of this information. -// -//===----------------------------------------------------------------------===// - -#ifndef OPTION -#error "Define OPTION prior to including this file!" -#endif - -// OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, -// HELPTEXT, METAVARNAME) - -// The NAME value is the option name as a string. - -// 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. -// -// We want to unambiguously be able to refer to options from the -// driver source code, for this reason the option name is mangled into -// an id. This mangling isn't guaranteed to have an inverse, but for -// practical purposes it does. -// -// The mangling scheme is to ignore the leading '-', and perform the -// following substitutions: -// _ => __ -// - => _ -// # => _HASH -// , => _COMMA -// = => _EQ -// C++ => CXX - -// The KIND value is the option type, one of Group, Flag, Joined, -// Separate, CommaJoined, JoinedOrSeparate, JoinedAndSeparate. - -// The GROUP value is the internal name of the option group, or -// INVALID if the option is not part of a group. - -// The ALIAS value is the internal name of an aliased option, or -// INVALID if the option is not an alias. - -// The PARAM value is a string containing a bitmask of option flags. Valid -// values: -// -// DriverOption: The option is a "driver" option, and should not be forwarded -// to gcc. -// -// LinkerInput: The option is a linker input. -// -// NoArgumentUnused: Don't report argument unused warnings for this option; -// this is useful for options like -static or -dynamic which a user may -// always end up passing, even if the platform defaults to (or only -// supports) that option. -// -// Unsupported: The option is unsupported, and the driver will reject command -// lines that use it. -// -// RenderAsInput: The option should not render the name when rendered as an -// input (i.e., the option is rendered as values). -// -// RenderJoined: The option should be rendered joined, even if separate (only -// sensible on single value separate options). -// -// RenderSeparate: The option should be rendered separately, even if joined -// (only sensible on joined options). - -// 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. This must be defined if the help text is -// specified and this option takes extra arguments. - -// - -// For now (pre-TableGen, that is) Options must be in order. The -// ordering is *almost* lexicographic, with two exceptions. First, -// '\0' comes at the end of the alphabet instead of the beginning -// (thus options preceed any other options which prefix them). Second, -// for options with the same name, the less permissive version should -// come first; a Flag option should preceed a Joined option, for -// example. - -///////// -// Groups - -OPTION("<I group>", I_Group, Group, INVALID, INVALID, 0, 0, 0, 0) -OPTION("<M group>", M_Group, Group, INVALID, INVALID, 0, 0, 0, 0) -OPTION("<T group>", T_Group, Group, INVALID, INVALID, 0, 0, 0, 0) -OPTION("<O group>", O_Group, Group, INVALID, INVALID, 0, 0, 0, 0) -OPTION("<W group>", W_Group, Group, INVALID, INVALID, 0, 0, 0, 0) -OPTION("<X group>", X_Group, Group, INVALID, INVALID, 0, 0, 0, 0) -OPTION("<a group>", a_Group, Group, INVALID, INVALID, 0, 0, 0, 0) -OPTION("<d group>", d_Group, Group, INVALID, INVALID, 0, 0, 0, 0) -OPTION("<f group>", f_Group, Group, INVALID, INVALID, 0, 0, 0, 0) -OPTION("<g group>", g_Group, Group, INVALID, INVALID, 0, 0, 0, 0) -OPTION("<i group>", i_Group, Group, INVALID, INVALID, 0, 0, 0, 0) -OPTION("<clang i group>", clang_i_Group, Group, i_Group, INVALID, 0, 0, 0, 0) -OPTION("<m group>", m_Group, Group, INVALID, INVALID, 0, 0, 0, 0) -OPTION("<m x86 features group>", m_x86_Features_Group, Group, INVALID, INVALID, 0, 0, 0, 0) -OPTION("<u group>", u_Group, Group, INVALID, INVALID, 0, 0, 0, 0) - -OPTION("<pedantic group>", pedantic_Group, Group, INVALID, INVALID, 0, 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 f group>", clang_ignored_f_Group, Group, f_Group, - INVALID, 0, 0, 0, 0) -OPTION("<clang ignored m group>", clang_ignored_m_Group, Group, m_Group, - INVALID, 0, 0, 0, 0) - -////////// -// Options - -OPTION("-###", _HASH_HASH_HASH, Flag, INVALID, INVALID, DriverOption, 0, - "Print the commands to run for this compilation", 0) -OPTION("--CLASSPATH=", _CLASSPATH_EQ, Joined, INVALID, fclasspath_EQ, 0, 0, 0, 0) -OPTION("--CLASSPATH", _CLASSPATH, Separate, INVALID, fclasspath_EQ, RenderJoined, 0, 0, 0) -OPTION("--all-warnings", _all_warnings, Flag, INVALID, Wall, 0, 0, 0, 0) -OPTION("--analyze-auto", _analyze_auto, Flag, INVALID, INVALID, DriverOption, 0, 0, 0) -OPTION("--analyzer-no-default-checks", _analyzer_no_default_checks, Flag, INVALID, INVALID, DriverOption, 0, 0, 0) -OPTION("--analyzer-output", _analyzer_output, JoinedOrSeparate, INVALID, INVALID, DriverOption, 0, 0, 0) -OPTION("--analyze", _analyze, Flag, INVALID, INVALID, DriverOption, 0, - "Run the static analyzer", 0) -OPTION("--ansi", _ansi, Flag, INVALID, ansi, 0, 0, 0, 0) -OPTION("--assemble", _assemble, Flag, INVALID, S, 0, 0, 0, 0) -OPTION("--assert=", _assert_EQ, Joined, INVALID, A, RenderSeparate, 0, 0, 0) -OPTION("--assert", _assert, Separate, INVALID, A, 0, 0, 0, 0) -OPTION("--bootclasspath=", _bootclasspath_EQ, Joined, INVALID, fbootclasspath_EQ, 0, 0, 0, 0) -OPTION("--bootclasspath", _bootclasspath, Separate, INVALID, fbootclasspath_EQ, RenderJoined, 0, 0, 0) -OPTION("--classpath=", _classpath_EQ, Joined, INVALID, fclasspath_EQ, 0, 0, 0, 0) -OPTION("--classpath", _classpath, Separate, INVALID, fclasspath_EQ, RenderJoined, 0, 0, 0) -OPTION("--combine", _combine, Flag, INVALID, combine, Unsupported, 0, 0, 0) -OPTION("--comments-in-macros", _comments_in_macros, Flag, INVALID, CC, 0, 0, 0, 0) -OPTION("--comments", _comments, Flag, INVALID, C, 0, 0, 0, 0) -OPTION("--compile", _compile, Flag, INVALID, c, 0, 0, 0, 0) -OPTION("--constant-cfstrings", _constant_cfstrings, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("--coverage", _coverage, Flag, INVALID, coverage, 0, 0, 0, 0) -OPTION("--debug=", _debug_EQ, Joined, INVALID, g_Flag, Unsupported, 0, 0, 0) -OPTION("--debug", _debug, Flag, INVALID, g_Flag, Unsupported, 0, 0, 0) -OPTION("--define-macro=", _define_macro_EQ, Joined, INVALID, D, 0, 0, 0, 0) -OPTION("--define-macro", _define_macro, Separate, INVALID, D, RenderJoined, 0, 0, 0) -OPTION("--dependencies", _dependencies, Flag, INVALID, M, 0, 0, 0, 0) -OPTION("--encoding=", _encoding_EQ, Joined, INVALID, fencoding_EQ, 0, 0, 0, 0) -OPTION("--encoding", _encoding, Separate, INVALID, fencoding_EQ, RenderJoined, 0, 0, 0) -OPTION("--entry", _entry, Flag, INVALID, e, 0, 0, 0, 0) -OPTION("--extdirs=", _extdirs_EQ, Joined, INVALID, fextdirs_EQ, 0, 0, 0, 0) -OPTION("--extdirs", _extdirs, Separate, INVALID, fextdirs_EQ, RenderJoined, 0, 0, 0) -OPTION("--extra-warnings", _extra_warnings, Flag, INVALID, W_Joined, 0, 0, 0, 0) -OPTION("--for-linker=", _for_linker_EQ, Joined, INVALID, Xlinker, LinkerInput | RenderAsInput | RenderSeparate, 0, 0, 0) -OPTION("--for-linker", _for_linker, Separate, INVALID, Xlinker, LinkerInput | RenderAsInput, 0, 0, 0) -OPTION("--force-link=", _force_link_EQ, Joined, INVALID, u, RenderSeparate, 0, 0, 0) -OPTION("--force-link", _force_link, Separate, INVALID, u, 0, 0, 0, 0) -OPTION("--help-hidden", _help_hidden, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("--help", _help, Flag, INVALID, INVALID, 0, 0, - "Display available options", 0) -OPTION("--imacros=", _imacros_EQ, Joined, INVALID, imacros, RenderSeparate, 0, 0, 0) -OPTION("--imacros", _imacros, Separate, INVALID, imacros, 0, 0, 0, 0) -OPTION("--include-barrier", _include_barrier, Flag, INVALID, I_, 0, 0, 0, 0) -OPTION("--include-directory-after=", _include_directory_after_EQ, Joined, INVALID, idirafter, RenderSeparate, 0, 0, 0) -OPTION("--include-directory-after", _include_directory_after, Separate, INVALID, idirafter, 0, 0, 0, 0) -OPTION("--include-directory=", _include_directory_EQ, Joined, INVALID, I, 0, 0, 0, 0) -OPTION("--include-directory", _include_directory, Separate, INVALID, I, RenderJoined, 0, 0, 0) -OPTION("--include-prefix=", _include_prefix_EQ, Joined, INVALID, iprefix, RenderSeparate, 0, 0, 0) -OPTION("--include-prefix", _include_prefix, Separate, INVALID, iprefix, 0, 0, 0, 0) -OPTION("--include-with-prefix-after=", _include_with_prefix_after_EQ, Joined, INVALID, iwithprefix, RenderSeparate, 0, 0, 0) -OPTION("--include-with-prefix-after", _include_with_prefix_after, Separate, INVALID, iwithprefix, 0, 0, 0, 0) -OPTION("--include-with-prefix-before=", _include_with_prefix_before_EQ, Joined, INVALID, iwithprefixbefore, RenderSeparate, 0, 0, 0) -OPTION("--include-with-prefix-before", _include_with_prefix_before, Separate, INVALID, iwithprefixbefore, 0, 0, 0, 0) -OPTION("--include-with-prefix=", _include_with_prefix_EQ, Joined, INVALID, iwithprefix, RenderSeparate, 0, 0, 0) -OPTION("--include-with-prefix", _include_with_prefix, Separate, INVALID, iwithprefix, 0, 0, 0, 0) -OPTION("--include=", _include_EQ, Joined, INVALID, include, RenderSeparate, 0, 0, 0) -OPTION("--include", _include, Separate, INVALID, include, 0, 0, 0, 0) -OPTION("--language=", _language_EQ, Joined, INVALID, x, RenderSeparate, 0, 0, 0) -OPTION("--language", _language, Separate, INVALID, x, 0, 0, 0, 0) -OPTION("--library-directory=", _library_directory_EQ, Joined, INVALID, L, RenderSeparate, 0, 0, 0) -OPTION("--library-directory", _library_directory, Separate, INVALID, L, 0, 0, 0, 0) -OPTION("--machine-=", _machine__EQ, Joined, INVALID, m_Joined, Unsupported, 0, 0, 0) -OPTION("--machine-", _machine_, Joined, INVALID, m_Joined, Unsupported, 0, 0, 0) -OPTION("--machine=", _machine_EQ, Joined, INVALID, m_Joined, 0, 0, 0, 0) -OPTION("--machine", _machine, Separate, INVALID, m_Joined, RenderJoined, 0, 0, 0) -OPTION("--no-integrated-cpp", _no_integrated_cpp, Flag, INVALID, no_integrated_cpp, 0, 0, 0, 0) -OPTION("--no-line-commands", _no_line_commands, Flag, INVALID, P, 0, 0, 0, 0) -OPTION("--no-standard-includes", _no_standard_includes, Flag, INVALID, nostdinc, 0, 0, 0, 0) -OPTION("--no-standard-libraries", _no_standard_libraries, Flag, INVALID, nostdlib, 0, 0, 0, 0) -OPTION("--no-undefined", _no_undefined, Flag, INVALID, INVALID, LinkerInput, 0, 0, 0) -OPTION("--no-warnings", _no_warnings, Flag, INVALID, w, 0, 0, 0, 0) -OPTION("--optimize=", _optimize_EQ, Joined, INVALID, O, Unsupported, 0, 0, 0) -OPTION("--optimize", _optimize, Flag, INVALID, O, Unsupported, 0, 0, 0) -OPTION("--output-class-directory=", _output_class_directory_EQ, Joined, INVALID, foutput_class_dir_EQ, 0, 0, 0, 0) -OPTION("--output-class-directory", _output_class_directory, Separate, INVALID, foutput_class_dir_EQ, RenderJoined, 0, 0, 0) -OPTION("--output=", _output_EQ, Joined, INVALID, o, RenderSeparate, 0, 0, 0) -OPTION("--output", _output, Separate, INVALID, o, 0, 0, 0, 0) -OPTION("--param=", _param_EQ, Joined, INVALID, _param, RenderSeparate, 0, 0, 0) -OPTION("--param", _param, Separate, INVALID, INVALID, 0, 0, 0, 0) -OPTION("--pass-exit-codes", _pass_exit_codes, Flag, INVALID, pass_exit_codes, 0, 0, 0, 0) -OPTION("--pedantic-errors", _pedantic_errors, Flag, INVALID, pedantic_errors, 0, 0, 0, 0) -OPTION("--pedantic", _pedantic, Flag, INVALID, pedantic, 0, 0, 0, 0) -OPTION("--pipe", _pipe, Flag, INVALID, pipe, DriverOption, 0, 0, 0) -OPTION("--prefix=", _prefix_EQ, Joined, INVALID, B, RenderSeparate, 0, 0, 0) -OPTION("--prefix", _prefix, Separate, INVALID, B, 0, 0, 0, 0) -OPTION("--preprocess", _preprocess, Flag, INVALID, E, 0, 0, 0, 0) -OPTION("--print-file-name=", _print_file_name_EQ, Joined, INVALID, print_file_name_EQ, 0, 0, 0, 0) -OPTION("--print-file-name", _print_file_name, Separate, INVALID, print_file_name_EQ, 0, 0, 0, 0) -OPTION("--print-libgcc-file-name", _print_libgcc_file_name, Flag, INVALID, print_libgcc_file_name, 0, 0, 0, 0) -OPTION("--print-missing-file-dependencies", _print_missing_file_dependencies, Flag, INVALID, MG, 0, 0, 0, 0) -OPTION("--print-multi-directory", _print_multi_directory, Flag, INVALID, print_multi_directory, 0, 0, 0, 0) -OPTION("--print-multi-lib", _print_multi_lib, Flag, INVALID, print_multi_lib, 0, 0, 0, 0) -OPTION("--print-multi-os-directory", _print_multi_os_directory, Flag, INVALID, print_multi_os_directory, 0, 0, 0, 0) -OPTION("--print-prog-name=", _print_prog_name_EQ, Joined, INVALID, print_prog_name_EQ, 0, 0, 0, 0) -OPTION("--print-prog-name", _print_prog_name, Separate, INVALID, print_prog_name_EQ, 0, 0, 0, 0) -OPTION("--print-search-dirs", _print_search_dirs, Flag, INVALID, print_search_dirs, 0, 0, 0, 0) -OPTION("--profile-blocks", _profile_blocks, Flag, INVALID, a, 0, 0, 0, 0) -OPTION("--profile", _profile, Flag, INVALID, p, 0, 0, 0, 0) -OPTION("--relocatable-pch", _relocatable_pch, Flag, INVALID, INVALID, 0, 0, - "Build a relocatable precompiled header", 0) -OPTION("--resource=", _resource_EQ, Joined, INVALID, fcompile_resource_EQ, 0, 0, 0, 0) -OPTION("--resource", _resource, Separate, INVALID, fcompile_resource_EQ, RenderJoined, 0, 0, 0) -OPTION("--save-temps", _save_temps, Flag, INVALID, save_temps, 0, 0, 0, 0) -OPTION("--shared", _shared, Flag, INVALID, shared, 0, 0, 0, 0) -OPTION("--signed-char", _signed_char, Flag, INVALID, fsigned_char, 0, 0, 0, 0) -OPTION("--specs=", _specs_EQ, Joined, INVALID, specs_EQ, Unsupported, 0, 0, 0) -OPTION("--specs", _specs, Separate, INVALID, specs_EQ, RenderJoined | Unsupported, 0, 0, 0) -OPTION("--static", _static, Flag, INVALID, static, 0, 0, 0, 0) -OPTION("--std=", _std_EQ, Joined, INVALID, std_EQ, 0, 0, 0, 0) -OPTION("--std", _std, Separate, INVALID, std_EQ, RenderJoined, 0, 0, 0) -OPTION("--sysroot=", _sysroot_EQ, Joined, INVALID, INVALID, 0, 0, 0, 0) -OPTION("--sysroot", _sysroot, Separate, INVALID, _sysroot_EQ, RenderJoined, 0, 0, 0) -OPTION("--target-help", _target_help, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("--trace-includes", _trace_includes, Flag, INVALID, H, 0, 0, 0, 0) -OPTION("--traditional-cpp", _traditional_cpp, Flag, INVALID, traditional_cpp, 0, 0, 0, 0) -OPTION("--traditional", _traditional, Flag, INVALID, traditional, 0, 0, 0, 0) -OPTION("--trigraphs", _trigraphs, Flag, INVALID, trigraphs, 0, 0, 0, 0) -OPTION("--undefine-macro=", _undefine_macro_EQ, Joined, INVALID, U, 0, 0, 0, 0) -OPTION("--undefine-macro", _undefine_macro, Separate, INVALID, U, RenderJoined, 0, 0, 0) -OPTION("--unsigned-char", _unsigned_char, Flag, INVALID, funsigned_char, 0, 0, 0, 0) -OPTION("--user-dependencies", _user_dependencies, Flag, INVALID, MM, 0, 0, 0, 0) -OPTION("--verbose", _verbose, Flag, INVALID, v, 0, 0, 0, 0) -OPTION("--version", _version, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("--warn-=", _warn__EQ, Joined, INVALID, W_Joined, Unsupported, 0, 0, 0) -OPTION("--warn-", _warn_, Joined, INVALID, W_Joined, Unsupported, 0, 0, 0) -OPTION("--write-dependencies", _write_dependencies, Flag, INVALID, MD, 0, 0, 0, 0) -OPTION("--write-user-dependencies", _write_user_dependencies, Flag, INVALID, MMD, 0, 0, 0, 0) -OPTION("--", _, Joined, INVALID, f, Unsupported, 0, 0, 0) -OPTION("-A", A, JoinedOrSeparate, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-B", B, JoinedOrSeparate, INVALID, INVALID, Unsupported, 0, 0, 0) -OPTION("-CC", CC, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-C", C, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-D", D, JoinedOrSeparate, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-E", E, Flag, INVALID, INVALID, DriverOption, 0, - "Only run the preprocessor", 0) -OPTION("-F", F, JoinedOrSeparate, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-H", H, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-I-", I_, Flag, I_Group, INVALID, 0, 0, 0, 0) -OPTION("-I", I, JoinedOrSeparate, I_Group, INVALID, 0, 0, 0, 0) -OPTION("-L", L, JoinedOrSeparate, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-MD", MD, Flag, M_Group, INVALID, 0, 0, 0, 0) -OPTION("-MF", MF, JoinedOrSeparate, M_Group, INVALID, 0, 0, 0, 0) -OPTION("-MG", MG, Flag, M_Group, INVALID, 0, 0, 0, 0) -OPTION("-MMD", MMD, Flag, M_Group, INVALID, 0, 0, 0, 0) -OPTION("-MM", MM, Flag, M_Group, INVALID, 0, 0, 0, 0) -OPTION("-MP", MP, Flag, M_Group, INVALID, 0, 0, 0, 0) -OPTION("-MQ", MQ, JoinedOrSeparate, M_Group, INVALID, 0, 0, 0, 0) -OPTION("-MT", MT, JoinedOrSeparate, M_Group, INVALID, 0, 0, 0, 0) -OPTION("-Mach", Mach, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-M", M, Flag, M_Group, INVALID, 0, 0, 0, 0) -OPTION("-O4", O4, Joined, O_Group, INVALID, 0, 0, 0, 0) -OPTION("-ObjC++", ObjCXX, Flag, INVALID, INVALID, DriverOption, 0, - "Treat source input files as Objective-C++ inputs", 0) -OPTION("-ObjC", ObjC, Flag, INVALID, INVALID, DriverOption, 0, - "Treat source input files as Objective-C inputs", 0) -OPTION("-O", O, Joined, O_Group, INVALID, 0, 0, 0, 0) -OPTION("-P", P, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-Qn", Qn, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-Qunused-arguments", Qunused_arguments, Flag, INVALID, INVALID, DriverOption, 0, - "Don't emit warning for unused driver arguments", 0) -OPTION("-Q", Q, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-R", R, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-S", S, Flag, INVALID, INVALID, DriverOption, 0, - "Only run preprocess and compilation steps", 0) -OPTION("-Tbss", Tbss, JoinedOrSeparate, T_Group, INVALID, 0, 0, 0, 0) -OPTION("-Tdata", Tdata, JoinedOrSeparate, T_Group, INVALID, 0, 0, 0, 0) -OPTION("-Ttext", Ttext, JoinedOrSeparate, T_Group, INVALID, 0, 0, 0, 0) -OPTION("-T", T, JoinedOrSeparate, T_Group, INVALID, 0, 0, 0, 0) -OPTION("-U", U, JoinedOrSeparate, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-V", V, JoinedOrSeparate, INVALID, INVALID, DriverOption | Unsupported, 0, 0, 0) -OPTION("-Wa,", Wa_COMMA, CommaJoined, INVALID, INVALID, 0, 0, - "Pass the comma separated arguments in <arg> to the assembler", "<arg>") -OPTION("-Wall", Wall, Flag, W_Group, INVALID, 0, 0, 0, 0) -OPTION("-Wextra", Wextra, Flag, W_Group, INVALID, 0, 0, 0, 0) -OPTION("-Wl,", Wl_COMMA, CommaJoined, INVALID, INVALID, LinkerInput | RenderAsInput, 0, - "Pass the comma separated arguments in <arg> to the linker", "<arg>") -OPTION("-Wno-nonportable-cfstrings", Wno_nonportable_cfstrings, Joined, W_Group, INVALID, 0, 0, 0, 0) -OPTION("-Wnonportable-cfstrings", Wnonportable_cfstrings, Joined, W_Group, INVALID, 0, 0, 0, 0) -OPTION("-Wp,", Wp_COMMA, CommaJoined, INVALID, INVALID, 0, 0, - "Pass the comma separated arguments in <arg> to the preprocessor", "<arg>") -OPTION("-W", W_Joined, Joined, W_Group, INVALID, 0, 0, 0, 0) -OPTION("-Xanalyzer", Xanalyzer, Separate, INVALID, INVALID, 0, 0, - "Pass <arg> to the static analyzer", "<arg>") -OPTION("-Xarch_", Xarch__, JoinedAndSeparate, INVALID, INVALID, DriverOption, 0, 0, 0) -OPTION("-Xassembler", Xassembler, Separate, INVALID, INVALID, 0, 0, - "Pass <arg> to the assembler", "<arg>") -OPTION("-Xclang", Xclang, Separate, INVALID, INVALID, 0, 0, - "Pass <arg> to the clang compiler", "<arg>") -OPTION("-Xlinker", Xlinker, Separate, INVALID, INVALID, LinkerInput | RenderAsInput, 0, - "Pass <arg> to the linker", "<arg>") -OPTION("-Xpreprocessor", Xpreprocessor, Separate, INVALID, INVALID, 0, 0, - "Pass <arg> to the preprocessor", "<arg>") -OPTION("-X", X_Flag, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-X", X_Joined, Joined, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-Z", Z_Flag, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-Z", Z_Joined, Joined, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-all_load", all__load, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-allowable_client", allowable__client, Separate, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-ansi", ansi, Flag, a_Group, INVALID, 0, 0, 0, 0) -OPTION("-arch_errors_fatal", arch__errors__fatal, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-arch", arch, Separate, INVALID, INVALID, DriverOption, 0, 0, 0) -OPTION("-a", a, Joined, a_Group, INVALID, 0, 0, 0, 0) -OPTION("-bind_at_load", bind__at__load, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-bundle_loader", bundle__loader, Separate, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-bundle", bundle, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-b", b, JoinedOrSeparate, INVALID, INVALID, Unsupported, 0, 0, 0) -OPTION("-client_name", client__name, JoinedOrSeparate, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-combine", combine, Flag, INVALID, INVALID, DriverOption | Unsupported, 0, 0, 0) -OPTION("-compatibility_version", compatibility__version, JoinedOrSeparate, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-coverage", coverage, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-cpp-precomp", cpp_precomp, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-current_version", current__version, JoinedOrSeparate, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-c", c, Flag, INVALID, INVALID, DriverOption, 0, - "Only run preprocess, compile, and assemble steps", 0) -OPTION("-dA", dA, Flag, d_Group, INVALID, 0, 0, 0, 0) -OPTION("-dD", dD, Flag, d_Group, INVALID, 0, 0, 0, 0) -OPTION("-dM", dM, Flag, d_Group, INVALID, 0, 0, 0, 0) -OPTION("-dead_strip", dead__strip, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-dependency-file", dependency_file, Separate, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-dumpmachine", dumpmachine, Flag, INVALID, INVALID, Unsupported, 0, 0, 0) -OPTION("-dumpspecs", dumpspecs, Flag, INVALID, INVALID, Unsupported, 0, 0, 0) -OPTION("-dumpversion", dumpversion, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-dylib_file", dylib__file, Separate, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-dylinker_install_name", dylinker__install__name, JoinedOrSeparate, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-dylinker", dylinker, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-dynamiclib", dynamiclib, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-dynamic", dynamic, Flag, INVALID, INVALID, NoArgumentUnused, 0, 0, 0) -OPTION("-d", d_Flag, Flag, d_Group, INVALID, 0, 0, 0, 0) -OPTION("-d", d_Joined, Joined, d_Group, INVALID, 0, 0, 0, 0) -OPTION("-emit-ast", emit_ast, Flag, INVALID, INVALID, 0, 0, - "Emit Clang AST files for source inputs", 0) -OPTION("-emit-llvm", emit_llvm, Flag, INVALID, INVALID, 0, 0, - "Use the LLVM representation for assembler and object files", 0) -OPTION("-exported_symbols_list", exported__symbols__list, Separate, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-e", e, JoinedOrSeparate, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-fPIC", fPIC, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fPIE", fPIE, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fapple-kext", fapple_kext, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fasm-blocks", fasm_blocks, Flag, clang_ignored_f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fastcp", fastcp, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fastf", fastf, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fast", fast, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fasynchronous-unwind-tables", fasynchronous_unwind_tables, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fblock-introspection", fblock_introspection, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fblocks", fblocks, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fbootclasspath=", fbootclasspath_EQ, Joined, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fbuiltin-strcat", fbuiltin_strcat, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fbuiltin-strcpy", fbuiltin_strcpy, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fbuiltin", fbuiltin, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fclasspath=", fclasspath_EQ, Joined, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fcolor-diagnostics", fcolor_diagnostics, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fcommon", fcommon, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fcompile-resource=", fcompile_resource_EQ, Joined, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fconstant-cfstrings", fconstant_cfstrings, Flag, clang_ignored_f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fconstant-string-class=", fconstant_string_class_EQ, Joined, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fcreate-profile", fcreate_profile, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fdebug-pass-arguments", fdebug_pass_arguments, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fdebug-pass-structure", fdebug_pass_structure, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fdiagnostics-fixit-info", fdiagnostics_fixit_info, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fdiagnostics-print-source-range-info", fdiagnostics_print_source_range_info, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fdiagnostics-show-option", fdiagnostics_show_option, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fdollars-in-identifiers", fdollars_in_identifiers, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-feliminate-unused-debug-symbols", feliminate_unused_debug_symbols, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-femit-all-decls", femit_all_decls, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fencoding=", fencoding_EQ, Joined, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fexceptions", fexceptions, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fextdirs=", fextdirs_EQ, Joined, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-ffreestanding", ffreestanding, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fgnu-runtime", fgnu_runtime, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fheinous-gnu-extensions", fheinous_gnu_extensions, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-filelist", filelist, Separate, INVALID, INVALID, LinkerInput, 0, 0, 0) -OPTION("-findirect-virtual-calls", findirect_virtual_calls, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-finline-functions", finline_functions, Flag, clang_ignored_f_Group, INVALID, 0, 0, 0, 0) -OPTION("-finline", finline, Flag, clang_ignored_f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fkeep-inline-functions", fkeep_inline_functions, Flag, clang_ignored_f_Group, INVALID, 0, 0, 0, 0) -OPTION("-flat_namespace", flat__namespace, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-flax-vector-conversions", flax_vector_conversions, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-flimited-precision=", flimited_precision_EQ, Joined, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-flto", flto, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fmath-errno", fmath_errno, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fmerge-all-constants", fmerge_all_constants, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fmessage-length=", fmessage_length_EQ, Joined, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fms-extensions", fms_extensions, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fmudflapth", fmudflapth, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fmudflap", fmudflap, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fnested-functions", fnested_functions, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fnext-runtime", fnext_runtime, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-asynchronous-unwind-tables", fno_asynchronous_unwind_tables, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-blocks", fno_blocks, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-builtin-strcat", fno_builtin_strcat, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-builtin-strcpy", fno_builtin_strcpy, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-builtin", fno_builtin, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-caret-diagnostics", fno_caret_diagnostics, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-color-diagnostics", fno_color_diagnostics, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-common", fno_common, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-constant-cfstrings", fno_constant_cfstrings, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-diagnostics-fixit-info", fno_diagnostics_fixit_info, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-diagnostics-show-option", fno_diagnostics_show_option, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-dollars-in-identifiers", fno_dollars_in_identifiers, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-eliminate-unused-debug-symbols", fno_eliminate_unused_debug_symbols, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-exceptions", fno_exceptions, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-inline-functions", fno_inline_functions, Flag, clang_ignored_f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-inline", fno_inline, Flag, clang_ignored_f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-keep-inline-functions", fno_keep_inline_functions, Flag, clang_ignored_f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-math-errno", fno_math_errno, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-merge-all-constants", fno_merge_all_constants, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-ms-extensions", fno_ms_extensions, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-omit-frame-pointer", fno_omit_frame_pointer, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-pascal-strings", fno_pascal_strings, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-rtti", fno_rtti, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-show-column", fno_show_column, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-show-source-location", fno_show_source_location, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-stack-protector", fno_stack_protector, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-strict-aliasing", fno_strict_aliasing, Flag, clang_ignored_f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-unit-at-a-time", fno_unit_at_a_time, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-unwind-tables", fno_unwind_tables, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-working-directory", fno_working_directory, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fno-zero-initialized-in-bss", fno_zero_initialized_in_bss, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fobjc-atdefs", fobjc_atdefs, Flag, clang_ignored_f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fobjc-call-cxx-cdtors", fobjc_call_cxx_cdtors, Flag, clang_ignored_f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fobjc-gc-only", fobjc_gc_only, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fobjc-gc", fobjc_gc, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fobjc-new-property", fobjc_new_property, Flag, clang_ignored_f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fobjc-nonfragile-abi", fobjc_nonfragile_abi, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fobjc-sender-dependent-dispatch", fobjc_sender_dependent_dispatch, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fobjc", fobjc, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fomit-frame-pointer", fomit_frame_pointer, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fopenmp", fopenmp, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-force_cpusubtype_ALL", force__cpusubtype__ALL, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-force_flat_namespace", force__flat__namespace, Flag, INVALID, INVALID, 0, 0, 0, 0) -OPTION("-foutput-class-dir=", foutput_class_dir_EQ, Joined, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fpascal-strings", fpascal_strings, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fpch-preprocess", fpch_preprocess, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fpic", fpic, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fpie", fpie, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fprofile-arcs", fprofile_arcs, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fprofile-generate", fprofile_generate, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-framework", framework, Separate, INVALID, INVALID, LinkerInput, 0, 0, 0) -OPTION("-frtti", frtti, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fshort-wchar", fshort_wchar, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fshow-source-location", fshow_source_location, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fsigned-bitfields", fsigned_bitfields, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fsigned-char", fsigned_char, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fstack-protector-all", fstack_protector_all, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fstack-protector", fstack_protector, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fstrict-aliasing", fstrict_aliasing, Flag, clang_ignored_f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fsyntax-only", fsyntax_only, Flag, INVALID, INVALID, DriverOption, 0, 0, 0) -OPTION("-ftemplate-depth-", ftemplate_depth_, Joined, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fterminated-vtables", fterminated_vtables, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-ftime-report", ftime_report, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-ftrapv", ftrapv, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-funit-at-a-time", funit_at_a_time, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-funsigned-bitfields", funsigned_bitfields, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-funsigned-char", funsigned_char, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-funwind-tables", funwind_tables, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fverbose-asm", fverbose_asm, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fvisibility=", fvisibility_EQ, Joined, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fwritable-strings", fwritable_strings, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-fzero-initialized-in-bss", fzero_initialized_in_bss, Flag, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-f", f, Joined, f_Group, INVALID, 0, 0, 0, 0) -OPTION("-g0", g0, Joined, g_Group, INVALID, 0, 0, 0, 0) -OPTION("-g3", g3, Joined, g_Group, INVALID, 0, 0, 0, 0) -OPTION("-gfull", gfull, Joined, g_Group, INVALID, 0, 0, 0, 0) -OPTION("-gstabs", gstabs, Joined, g_Group, INVALID, 0, 0, 0, 0) -OPTION("- |