; output. However, if the help text contains a tab character, the
; text to the left of the tab is output instead of the switch, and the
; text to its right forms the help. This is useful for elaborating on
-; what type of argument a switch takes, for example.
+; what type of argument a switch takes, for example. If the second
+; field contains "Undocumented" then nothing is output with --help.
+; Only do this with good reason like the switch being internal between
+; the driver and the front end - it is not an excuse to leave a switch
+; undocumented.
; Comments can appear on their own line anwhere in the file, preceded
; by a semicolon. Whitespace is permitted before the semicolon.
-D<macro>[=<val>] Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1
E
-C ObjC C++ ObjC++
+C ObjC C++ ObjC++ Undocumented
H
C ObjC C++ ObjC++
C++ ObjC++
Warn when all constructors and destructors are private
+Wdeclaration-after-statement
+C ObjC
+Warn when a declaration is found after a statement
+
Wdeprecated
C++ ObjC++
Warn about deprecated compiler features
Wformat=
C ObjC C++ ObjC++ Joined
+Winit-self
+C ObjC C++ ObjC++
+Warn about variables which are initialized to themselves.
+
Wimplicit
C ObjC C++ ObjC++
Wimport
C ObjC C++ ObjC++
-Warn about uses of the \"#import\" directive
+Deprecated. This switch has no effect.
Winvalid-offsetof
C++ ObjC++
C++ ObjC++
Warn if a C-style cast is used in a program
+Wold-style-definition
+C ObjC
+Warn if an old-style parameter definition is used
+
Woverloaded-virtual
C++ ObjC++
Warn about overloaded virtual function names
Wprotocol
ObjC ObjC++
+Warn if inherited methods are unimplemented
Wredundant-decls
C ObjC C++ ObjC++
Wselector
ObjC ObjC++
+Warn if a selector has multiple methods
Wsequence-point
C ObjC
fconstant-string-class=
ObjC ObjC++ Joined
+-fconst-string-class=<name> Use class <name> for constant strings
fdefault-inline
C++ ObjC++
fgnu-runtime
ObjC ObjC++
+Generate code for GNU runtime environment
fguiding-decls
C++ ObjC++
fnext-runtime
ObjC ObjC++
+Generate code for NeXT (Apple Mac OS X) runtime environment
+
+fnil-receivers
+ObjC ObjC++
+Assume that receivers of Objective-C messages may be nil
fnonansi-builtins
C++ ObjC++
fnonnull-objects
C++ ObjC++
+fobjc-exceptions
+ObjC ObjC++
+Enable Objective-C exception and synchronization syntax
+
foperator-names
C++ ObjC++
Recognize C++ kewords like \"compl\" and \"xor\"
C ObjC C++ ObjC++
Treat the input file as already preprocessed
+freplace-objc-classes
+ObjC ObjC++
+Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime
+
frepo
C++ ObjC++
Enable automatic template instantiation
C ObjC C++ ObjC++ Joined RejectNegative
-fwide-exec-charset=<cset> Convert all wide strings and character constants to character set <cset>
+fworking-directory
+C ObjC C++ ObjC++
+Generate a #line directive pointing at the current working directory
+
fxref
C++ ObjC++
Emit cross referencing information
+fzero-link
+ObjC ObjC++
+Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode
+
gen-decls
ObjC ObjC++
+Dump declarations to a .decl file
idirafter
C ObjC C++ ObjC++ Joined Separate
-iwithprefixbefore <dir> Add <dir> to the end of the main include path
lang-asm
-C
-For internal use only
+C Undocumented
lang-objc
-C ObjC C++ ObjC++
-For internal use only
+C ObjC C++ ObjC++ Undocumented
nostdinc
C ObjC C++ ObjC++
print-objc-runtime-info
ObjC ObjC++
+Generate C header of platform-specific features
remap
C ObjC C++ ObjC++