freebsd-skq/contrib/gcc/c.opt
pfg 9c8bbe6849 gcc: Add support for Apple's Block extension
Block objects [1] are a C-level syntactic and runtime feature. They
are similar to standard C functions, but in addition to executable
code they may also contain variable bindings to automatic (stack)
or managed (heap) memory. A block can therefore maintain a set of
state (data) that it can use to impact behavior when executed.

This port is based on Apple's GCC 5646 with some bugfixes from
Apple GCC 5666.3. It has some small differences with the support
in clang, which remains the recommended compiler.

Perhaps the most notable difference is that in GCC that __block
is not actually a keyword, but a macro. There will be workaround
for this issue in a near future. Other issues can be consulted in
the clang documentation [2]

For better compatiblity with Apple's GCC and llvm-gcc some related
fixes and features from Apple have been included. Support for the
non-standard nested functions in GCC is now off by default.

No effort was made to update the ObjC support since FreeBSD doesn't
carry ObjC in the base system, but some of the code crept in and
was more difficult to remove than to adjust.

Reference:
[1]
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Blocks/Articles/00_Introduction.html
[2]
http://clang.llvm.org/compatibility.html#block-variable-initialization

Obtained from:	Apple GCC 4.2
MFC after:	3 weeks
2014-01-05 00:43:28 +00:00

966 lines
21 KiB
Plaintext

; Options for the C, ObjC, C++ and ObjC++ front ends.
; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
; GCC is free software; you can redistribute it and/or modify it under
; the terms of the GNU General Public License as published by the Free
; Software Foundation; either version 2, or (at your option) any later
; version.
;
; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
; WARRANTY; without even the implied warranty of MERCHANTABILITY or
; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
; for more details.
;
; You should have received a copy of the GNU General Public License
; along with GCC; see the file COPYING. If not, write to the Free
; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
; 02110-1301, USA.
; See the GCC internals manual for a description of this file's format.
; $FreeBSD$
; Please try to keep this file in ASCII collating order.
Language
C
Language
ObjC
Language
C++
Language
ObjC++
-output-pch=
C ObjC C++ ObjC++ Joined Separate
A
C ObjC C++ ObjC++ Joined Separate
-A<question>=<answer> Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>
C
C ObjC C++ ObjC++
Do not discard comments
CC
C ObjC C++ ObjC++
Do not discard comments in macro expansions
D
C ObjC C++ ObjC++ Joined Separate
-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++ Undocumented
F
C ObjC C++ ObjC++ Joined Separate
-F <dir> Add <dir> to the end of the main framework include path
H
C ObjC C++ ObjC++
Print the name of header files as they are used
I
C ObjC C++ ObjC++ Joined Separate
-I <dir> Add <dir> to the end of the main include path
M
C ObjC C++ ObjC++
Generate make dependencies
MD
C ObjC C++ ObjC++ Separate
Generate make dependencies and compile
MF
C ObjC C++ ObjC++ Joined Separate
-MF <file> Write dependency output to the given file
MG
C ObjC C++ ObjC++
Treat missing header files as generated files
MM
C ObjC C++ ObjC++
Like -M but ignore system header files
MMD
C ObjC C++ ObjC++ Separate
Like -MD but ignore system header files
MP
C ObjC C++ ObjC++
Generate phony targets for all headers
MQ
C ObjC C++ ObjC++ Joined Separate
-MQ <target> Add a MAKE-quoted target
MT
C ObjC C++ ObjC++ Joined Separate
-MT <target> Add an unquoted target
P
C ObjC C++ ObjC++
Do not generate #line directives
U
C ObjC C++ ObjC++ Joined Separate
-U<macro> Undefine <macro>
Wabi
C++ ObjC++ Var(warn_abi)
Warn about things that will change when compiling with an ABI-compliant compiler
Waddress
C ObjC C++ ObjC++ Var(warn_address)
Warn about suspicious uses of memory addresses
Wall
C ObjC C++ ObjC++
Enable most warning messages
Wassign-intercept
ObjC ObjC++ Var(warn_assign_intercept)
Warn whenever an Objective-C assignment is being intercepted by the garbage collector
Wbad-function-cast
C ObjC Var(warn_bad_function_cast)
Warn about casting functions to incompatible types
Wc++-compat
C ObjC Var(warn_cxx_compat)
Warn about C constructs that are not in the common subset of C and C++
Wcast-qual
C ObjC C++ ObjC++ Var(warn_cast_qual)
Warn about casts which discard qualifiers
Wchar-subscripts
C ObjC C++ ObjC++ Var(warn_char_subscripts)
Warn about subscripts whose type is \"char\"
Wcomment
C ObjC C++ ObjC++
Warn about possibly nested block comments, and C++ comments spanning more than one physical line
Wcomments
C ObjC C++ ObjC++
Synonym for -Wcomment
Wconversion
C ObjC C++ ObjC++ Var(warn_conversion)
Warn about possibly confusing type conversions
Wctor-dtor-privacy
C++ ObjC++ Var(warn_ctor_dtor_privacy)
Warn when all constructors and destructors are private
Wdeclaration-after-statement
C ObjC Var(warn_declaration_after_statement)
Warn when a declaration is found after a statement
Wdeprecated
C++ ObjC++ Var(warn_deprecated) Init(1)
Warn about deprecated compiler features
Wdiv-by-zero
C ObjC C++ ObjC++ Var(warn_div_by_zero) Init(1)
Warn about compile-time integer division by zero
Weffc++
C++ ObjC++ Var(warn_ecpp)
Warn about violations of Effective C++ style rules
Wendif-labels
C ObjC C++ ObjC++
Warn about stray tokens after #elif and #endif
Werror
C ObjC C++ ObjC++
; Documented in common.opt
Werror-implicit-function-declaration
C ObjC RejectNegative
Make implicit function declarations an error
Wfloat-equal
C ObjC C++ ObjC++ Var(warn_float_equal)
Warn if testing floating point numbers for equality
Wformat
C ObjC C++ ObjC++
Warn about printf/scanf/strftime/strfmon format string anomalies
Wformat-extra-args
C ObjC C++ ObjC++ Var(warn_format_extra_args)
Warn if passing too many arguments to a function for its format string
Wformat-nonliteral
C ObjC C++ ObjC++ Var(warn_format_nonliteral)
Warn about format strings that are not literals
Wformat-security
C ObjC C++ ObjC++ Var(warn_format_security)
Warn about possible security problems with format functions
Wformat-y2k
C ObjC C++ ObjC++ Var(warn_format_y2k)
Warn about strftime formats yielding 2-digit years
Wformat-zero-length
C ObjC Var(warn_format_zero_length)
Warn about zero-length formats
Wformat=
C ObjC C++ ObjC++ Joined
Winit-self
C ObjC C++ ObjC++ Var(warn_init_self)
Warn about variables which are initialized to themselves
Wimplicit
C ObjC C++ ObjC++
Wimplicit-function-declaration
C ObjC Var(mesg_implicit_function_declaration) Init(-1)
Warn about implicit function declarations
Wimplicit-int
C ObjC Var(warn_implicit_int)
Warn when a declaration does not specify a type
Wimport
C ObjC C++ ObjC++
Deprecated. This switch has no effect
Wint-to-pointer-cast
C ObjC Var(warn_int_to_pointer_cast) Init(1)
Warn when there is a cast to a pointer from an integer of a different size
Winvalid-offsetof
C++ ObjC++ Var(warn_invalid_offsetof) Init(1)
Warn about invalid uses of the \"offsetof\" macro
Winvalid-pch
C ObjC C++ ObjC++
Warn about PCH files that are found but not used
Wlong-long
C ObjC C++ ObjC++ Var(warn_long_long) Init(1)
Do not warn about using \"long long\" when -pedantic
Wmain
C ObjC
Warn about suspicious declarations of \"main\"
Wmissing-braces
C ObjC C++ ObjC++ Var(warn_missing_braces)
Warn about possibly missing braces around initializers
Wmissing-declarations
C ObjC Var(warn_missing_declarations)
Warn about global functions without previous declarations
Wmissing-field-initializers
C ObjC C++ ObjC++ Var(warn_missing_field_initializers) Init(-1)
Warn about missing fields in struct initializers
Wmissing-format-attribute
C ObjC C++ ObjC++ Var(warn_missing_format_attribute)
Warn about functions which might be candidates for format attributes
Wmissing-include-dirs
C ObjC C++ ObjC++
Warn about user-specified include directories that do not exist
Wmissing-prototypes
C ObjC Var(warn_missing_prototypes)
Warn about global functions without prototypes
; APPLE LOCAL begin -Wmost
Wmost
C ObjC C++ ObjC++
Like -Wall but without -Wparentheses
; APPLE LOCAL end -Wmost
Wmultichar
C ObjC C++ ObjC++
Warn about use of multi-character character constants
Wnested-externs
C ObjC Var(warn_nested_externs)
Warn about \"extern\" declarations not at file scope
; APPLE LOCAL begin -Wnewline-eof
Wnewline-eof
C ObjC C++ ObjC++
Warn about files missing a newline at the end of the file
; APPLE LOCAL end -Wnewline-eof
Wnon-template-friend
C++ ObjC++ Var(warn_nontemplate_friend) Init(1)
Warn when non-templatized friend functions are declared within a template
Wnon-virtual-dtor
C++ ObjC++ Var(warn_nonvdtor)
Warn about non-virtual destructors
Wnonnull
C ObjC Var(warn_nonnull)
Warn about NULL being passed to argument slots marked as requiring non-NULL
Wnormalized=
C ObjC C++ ObjC++ Joined
-Wnormalized=<id|nfc|nfkc> Warn about non-normalised Unicode strings
Wold-style-cast
C++ ObjC++ Var(warn_old_style_cast)
Warn if a C-style cast is used in a program
Wold-style-definition
C ObjC Var(warn_old_style_definition)
Warn if an old-style parameter definition is used
Woverlength-strings
C ObjC C++ ObjC++ Var(warn_overlength_strings) Init(-1)
Warn if a string is longer than the maximum portable length specified by the standard
Woverloaded-virtual
C++ ObjC++ Var(warn_overloaded_virtual)
Warn about overloaded virtual function names
Woverride-init
C ObjC Var(warn_override_init) Init(-1)
Warn about overriding initializers without side effects
Wparentheses
C ObjC C++ ObjC++ Var(warn_parentheses)
Warn about possibly missing parentheses
Wpmf-conversions
C++ ObjC++ Var(warn_pmf2ptr) Init(1)
Warn when converting the type of pointers to member functions
Wpointer-arith
C ObjC C++ ObjC++ Var(warn_pointer_arith)
Warn about function pointer arithmetic
Wpointer-to-int-cast
C ObjC Var(warn_pointer_to_int_cast) Init(1)
Warn when a pointer is cast to an integer of a different size
Wpragmas
C ObjC C++ ObjC++ Var(warn_pragmas) Init(1)
Warn about misuses of pragmas
Wprotocol
ObjC ObjC++ Var(warn_protocol) Init(1)
Warn if inherited methods are unimplemented
Wredundant-decls
C ObjC C++ ObjC++ Var(warn_redundant_decls)
Warn about multiple declarations of the same object
Wreorder
C++ ObjC++ Var(warn_reorder)
Warn when the compiler reorders code
Wreturn-type
C ObjC C++ ObjC++ Var(warn_return_type)
Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)
Wselector
ObjC ObjC++ Var(warn_selector)
Warn if a selector has multiple methods
Wsequence-point
C ObjC C++ ObjC++ Var(warn_sequence_point)
Warn about possible violations of sequence point rules
Wsign-compare
C ObjC C++ ObjC++ Var(warn_sign_compare) Init(-1)
Warn about signed-unsigned comparisons
Wsign-promo
C++ ObjC++ Var(warn_sign_promo)
Warn when overload promotes from unsigned to signed
Wstrict-null-sentinel
C++ ObjC++
Warn about uncasted NULL used as sentinel
Wstrict-prototypes
C ObjC Var(warn_strict_prototypes)
Warn about unprototyped function declarations
Wstrict-selector-match
ObjC ObjC++ Var(warn_strict_selector_match)
Warn if type signatures of candidate methods do not match exactly
Wsynth
C++ ObjC++ Var(warn_synth)
Warn when synthesis behavior differs from Cfront
Wsystem-headers
C ObjC C++ ObjC++
Do not suppress warnings from system headers
Wtraditional
C ObjC Var(warn_traditional)
Warn about features not present in traditional C
Wtrampolines
Common Var(warn_trampolines)
Warn when trampolines are emitted
Wtrigraphs
C ObjC C++ ObjC++
Warn if trigraphs are encountered that might affect the meaning of the program
Wundeclared-selector
ObjC ObjC++ Var(warn_undeclared_selector)
Warn about @selector()s without previously declared methods
Wundef
C ObjC C++ ObjC++
Warn if an undefined macro is used in an #if directive
Wunknown-pragmas
C ObjC C++ ObjC++
Warn about unrecognized pragmas
Wunused-macros
C ObjC C++ ObjC++
Warn about macros defined in the main file that are not used
Wvariadic-macros
C ObjC C++ ObjC++
Do not warn about using variadic macros when -pedantic
Wvla
C ObjC C++ ObjC++ Var(warn_vla) Init(-1) Warning
Warn if a variable length array is used
Wwrite-strings
C ObjC C++ ObjC++ Var(warn_write_strings)
In C++, nonzero means warn about deprecated conversion from string literals to `char *'. In C, similar warning, except that the conversion is of course not deprecated by the ISO C standard.
Wpointer-sign
C ObjC Var(warn_pointer_sign) Init(-1)
Warn when a pointer differs in signedness in an assignment
ansi
C ObjC C++ ObjC++
A synonym for -std=c89 (for C) or -std=c++98 (for C++)
d
C ObjC C++ ObjC++ Joined
; Documented in common.opt. FIXME - what about -dI, -dD, -dN and -dD?
faccess-control
C++ ObjC++
Enforce class member access control semantics
fall-virtual
C++ ObjC++
falt-external-templates
C++ ObjC++
Change when template instances are emitted
fasm
C ObjC C++ ObjC++
Recognize the \"asm\" keyword
fbuiltin
C ObjC C++ ObjC++
Recognize built-in functions
fbuiltin-
C ObjC C++ ObjC++ Joined
fcheck-new
C++ ObjC++
Check the return value of new
fcond-mismatch
C ObjC C++ ObjC++
Allow the arguments of the '?' operator to have different types
fconserve-space
C++ ObjC++
Reduce the size of object files
fconstant-string-class=
ObjC ObjC++ Joined
-fconst-string-class=<name> Use class <name> for constant strings
fdefault-inline
C++ ObjC++
Inline member functions by default
fdirectives-only
C ObjC C++ ObjC++
Preprocess directives only.
fdollars-in-identifiers
C ObjC C++ ObjC++
Permit '$' as an identifier character
felide-constructors
C++ ObjC++
fenforce-eh-specs
C++ ObjC++
Generate code to check exception specifications
fenum-int-equiv
C++ ObjC++
fexec-charset=
C ObjC C++ ObjC++ Joined RejectNegative
-fexec-charset=<cset> Convert all strings and character constants to character set <cset>
fextended-identifiers
C ObjC C++ ObjC++
Permit universal character names (\\u and \\U) in identifiers
finput-charset=
C ObjC C++ ObjC++ Joined RejectNegative
-finput-charset=<cset> Specify the default character set for source files
fexternal-templates
C++ ObjC++
ffor-scope
C++ ObjC++
Scope of for-init-statement variables is local to the loop
ffreestanding
C ObjC
Do not assume that standard C libraries and \"main\" exist
fgnu-keywords
C++ ObjC++
Recognize GNU-defined keywords
fgnu-runtime
ObjC ObjC++
Generate code for GNU runtime environment
fgnu89-inline
C ObjC Var(flag_gnu89_inline) Init(-1)
Use traditional GNU semantics for inline functions
fguiding-decls
C++ ObjC++
fhandle-exceptions
C++ ObjC++
fhonor-std
C++ ObjC++
fhosted
C ObjC
Assume normal C execution environment
fhuge-objects
C++ ObjC++
Enable support for huge objects
fimplement-inlines
C++ ObjC++
Export functions even if they can be inlined
fimplicit-inline-templates
C++ ObjC++
Emit implicit instantiations of inline templates
fimplicit-templates
C++ ObjC++
Emit implicit instantiations of templates
ffriend-injection
C++ ObjC++ Var(flag_friend_injection)
Inject friend functions into enclosing namespace
flabels-ok
C++ ObjC++
flax-vector-conversions
C ObjC C++ ObjC++
Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types.
fms-extensions
C ObjC C++ ObjC++
Don't warn about uses of Microsoft extensions
fname-mangling-version-
C++ ObjC++ Joined
fnew-abi
C++ ObjC++
; APPLE LOCAL begin nested functions 4258406 4357979
fnested-functions
C ObjC Var(flag_nested_functions)
Allow nested functions.
; APPLE LOCAL end nested functions 4258406 4357979
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++
; Generate special '- .cxx_construct' and '- .cxx_destruct' methods
; to initialize any non-POD ivars in Objective-C++ classes.
fobjc-call-cxx-cdtors
ObjC++ Var(flag_objc_call_cxx_cdtors)
Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed
fobjc-direct-dispatch
ObjC ObjC++ Var(flag_objc_direct_dispatch)
Allow fast jumps to the message dispatcher
; Nonzero means that we will allow new ObjC exception syntax (@throw,
; @try, etc.) in source code.
fobjc-exceptions
ObjC ObjC++ Var(flag_objc_exceptions)
Enable Objective-C exception and synchronization syntax
fobjc-gc
ObjC ObjC++ Var(flag_objc_gc)
Enable garbage collection (GC) in Objective-C/Objective-C++ programs
; APPLE LOCAL begin radar 5811887 - blocks
fblocks
C ObjC C++ ObjC++ Var(flag_blocks) Init(-1)
Program supports c/objc extension blocks
; APPLE LOCAL end radar 5811887 - blocks
; Nonzero means that we generate NeXT setjmp based exceptions.
fobjc-sjlj-exceptions
ObjC ObjC++ Var(flag_objc_sjlj_exceptions) Init(-1)
Enable Objective-C setjmp exception handling runtime
fopenmp
C ObjC C++ ObjC++ Var(flag_openmp)
Enable OpenMP
foperator-names
C++ ObjC++
Recognize C++ kewords like \"compl\" and \"xor\"
foptional-diags
C++ ObjC++
Enable optional diagnostics
fpch-deps
C ObjC C++ ObjC++
fpch-preprocess
C ObjC C++ ObjC++
Look for and use PCH files even when preprocessing
fpermissive
C++ ObjC++
Downgrade conformance errors to warnings
fpreprocessed
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
frtti
C++ ObjC++
Generate run time type descriptor information
fshort-double
C ObjC C++ ObjC++
Use the same size for double as for float
fshort-enums
C ObjC C++ ObjC++
Use the narrowest integer type possible for enumeration types
fshort-wchar
C ObjC C++ ObjC++
Force the underlying type for \"wchar_t\" to be \"unsigned short\"
fsigned-bitfields
C ObjC C++ ObjC++
When \"signed\" or \"unsigned\" is not given make the bitfield signed
fsigned-char
C ObjC C++ ObjC++
Make \"char\" signed by default
fsquangle
C++ ObjC++
fstats
C++ ObjC++
Display statistics accumulated during compilation
fstrict-prototype
C++ ObjC++
ftabstop=
C ObjC C++ ObjC++ Joined RejectNegative UInteger
-ftabstop=<number> Distance between tab stops for column reporting
ftemplate-depth-
C++ ObjC++ Joined RejectNegative UInteger
-ftemplate-depth-<number> Specify maximum template instantiation depth
fthis-is-variable
C++ ObjC++
fthreadsafe-statics
C++ ObjC++
-fno-threadsafe-statics Do not generate thread-safe code for initializing local statics
funsigned-bitfields
C ObjC C++ ObjC++
When \"signed\" or \"unsigned\" is not given make the bitfield unsigned
funsigned-char
C ObjC C++ ObjC++
Make \"char\" unsigned by default
fuse-cxa-atexit
C++ ObjC++
Use __cxa_atexit to register destructors
fuse-cxa-get-exception-ptr
C++ ObjC++
Use __cxa_get_exception_ptr in exception handling
fvisibility-inlines-hidden
C++ ObjC++
Marks all inlined methods as having hidden visibility
fvisibility-ms-compat
C++ ObjC++ Var(flag_visibility_ms_compat)
Changes visibility to match Microsoft Visual Studio by default
fvtable-gc
C++ ObjC++
Discard unused virtual functions
fvtable-thunks
C++ ObjC++
Implement vtables using thunks
fweak
C++ ObjC++
Emit common-like symbols as weak symbols
fwide-exec-charset=
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
femit-struct-debug-baseonly
C ObjC C++ ObjC++
-femit-struct-debug-baseonly Aggressive reduced debug info for structs
femit-struct-debug-reduced
C ObjC C++ ObjC++
-femit-struct-debug-reduced Conservative reduced debug info for structs
femit-struct-debug-detailed=
C ObjC C++ ObjC++ Joined
-femit-struct-debug-detailed=<spec-list> Detailed reduced debug info for structs
idirafter
C ObjC C++ ObjC++ Joined Separate
-idirafter <dir> Add <dir> to the end of the system include path
imacros
C ObjC C++ ObjC++ Joined Separate
-imacros <file> Accept definition of macros in <file>
imultilib
C ObjC C++ ObjC++ Joined Separate
-imultilib <dir> Set <dir> to be the multilib include subdirectory
include
C ObjC C++ ObjC++ Joined Separate
-include <file> Include the contents of <file> before other files
iprefix
C ObjC C++ ObjC++ Joined Separate
-iprefix <path> Specify <path> as a prefix for next two options
isysroot
C ObjC C++ ObjC++ Joined Separate
-isysroot <dir> Set <dir> to be the system root directory
isystem
C ObjC C++ ObjC++ Joined Separate
-isystem <dir> Add <dir> to the start of the system include path
iquote
C ObjC C++ ObjC++ Joined Separate
-iquote <dir> Add <dir> to the end of the quote include path
iwithprefix
C ObjC C++ ObjC++ Joined Separate
-iwithprefix <dir> Add <dir> to the end of the system include path
iwithprefixbefore
C ObjC C++ ObjC++ Joined Separate
-iwithprefixbefore <dir> Add <dir> to the end of the main include path
lang-asm
C Undocumented
lang-fortran
C Undocumented
lang-objc
C ObjC C++ ObjC++ Undocumented
nostdinc
C ObjC C++ ObjC++
Do not search standard system include directories (those specified with -isystem will still be used)
nostdinc++
C++ ObjC++
Do not search standard system include directories for C++
o
C ObjC C++ ObjC++ Joined Separate
; Documented in common.opt
pedantic
C ObjC C++ ObjC++
; Documented in common.opt
pedantic-errors
C ObjC C++ ObjC++
; Documented in common.opt
print-objc-runtime-info
ObjC ObjC++
Generate C header of platform-specific features
print-pch-checksum
C ObjC C++ ObjC++
Print a checksum of the executable for PCH validity checking, and stop
remap
C ObjC C++ ObjC++
Remap file names when including files
std=c++98
C++ ObjC++
Conform to the ISO 1998 C++ standard
std=c89
C ObjC
Conform to the ISO 1990 C standard
std=c99
C ObjC
Conform to the ISO 1999 C standard
std=c9x
C ObjC
Deprecated in favor of -std=c99
std=gnu++98
C++ ObjC++
Conform to the ISO 1998 C++ standard with GNU extensions
std=gnu89
C ObjC
Conform to the ISO 1990 C standard with GNU extensions
std=gnu99
C ObjC
Conform to the ISO 1999 C standard with GNU extensions
std=gnu9x
C ObjC
Deprecated in favor of -std=gnu99
std=iso9899:1990
C ObjC
Conform to the ISO 1990 C standard
std=iso9899:199409
C ObjC
Conform to the ISO 1990 C standard as amended in 1994
std=iso9899:1999
C ObjC
Conform to the ISO 1999 C standard
std=iso9899:199x
C ObjC
Deprecated in favor of -std=iso9899:1999
traditional-cpp
C ObjC C++ ObjC++
Enable traditional preprocessing
trigraphs
C ObjC C++ ObjC++
-trigraphs Support ISO C trigraphs
undef
C ObjC C++ ObjC++
Do not predefine system-specific and GCC-specific macros
v
C ObjC C++ ObjC++
Enable verbose output
w
C ObjC C++ ObjC++
; Documented in common.opt
; This comment is to ensure we retain the blank line above.