5bfc7db451
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
966 lines
21 KiB
Plaintext
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.
|