X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Fc.opt;h=512882bc64b70290a911075ded3c2d7ff07221aa;hp=dbeffaaaf4d2657b9ca6107a40b48c1658359a36;hb=3ba510aa5b8a07f6fa5a2d163354b0ff5b5c7484;hpb=2a5e86854333b14a007d05edd74dc3fb40b84b39 diff --git a/gcc/c.opt b/gcc/c.opt index dbeffaaaf4d..512882bc64b 100644 --- a/gcc/c.opt +++ b/gcc/c.opt @@ -1,5 +1,5 @@ ; Options for the C, ObjC, C++ and ObjC++ front ends. -; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. +; Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. ; ; This file is part of GCC. ; @@ -7,17 +7,18 @@ ; 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, 59 Temple Place - Suite 330, Boston, MA -; 02111-1307, USA. +; 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. ; Please try to keep this file in ASCII collating order. @@ -57,7 +58,7 @@ C ObjC C++ ObjC++ Undocumented F C ObjC C++ ObjC++ Joined Separate --F Add to the end of the main framework include path +-F Add to the end of the main framework include path H C ObjC C++ ObjC++ @@ -112,59 +113,79 @@ C ObjC C++ ObjC++ Joined Separate -U Undefine Wabi -C++ ObjC++ Var(warn_abi) +C++ ObjC++ Var(warn_abi) Warning Warn about things that will change when compiling with an ABI-compliant compiler Wall -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Warning Enable most warning messages +Wassign-intercept +ObjC ObjC++ Var(warn_assign_intercept) Warning +Warn whenever an Objective-C assignment is being intercepted by the garbage collector + Wbad-function-cast -C ObjC Var(warn_bad_function_cast) +C ObjC Var(warn_bad_function_cast) Warning Warn about casting functions to incompatible types +Wc++-compat +C Var(warn_cxx_compat) Warning +Warn about C constructs that are not in the common subset of C and C++ + +Wc++0x-compat +C++ ObjC++ Var(warn_cxx0x_compat) +Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x + Wcast-qual -C ObjC C++ ObjC++ Var(warn_cast_qual) +C ObjC C++ ObjC++ Var(warn_cast_qual) Warning Warn about casts which discard qualifiers Wchar-subscripts -C ObjC C++ ObjC++ Var(warn_char_subscripts) +C ObjC C++ ObjC++ Var(warn_char_subscripts) Warning Warn about subscripts whose type is \"char\" +Wclobbered +C ObjC C++ ObjC++ Var(warn_clobbered) Init(-1) Warning +Warn about variables that might be changed by \"longjmp\" or \"vfork\" + Wcomment -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Warning Warn about possibly nested block comments, and C++ comments spanning more than one physical line Wcomments -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Warning Synonym for -Wcomment Wconversion -C ObjC C++ ObjC++ Var(warn_conversion) -Warn about possibly confusing type conversions +C ObjC C++ ObjC++ Var(warn_conversion) Warning +Warn for implicit type conversions that may change a value Wctor-dtor-privacy -C++ ObjC++ Var(warn_ctor_dtor_privacy) +C++ ObjC++ Var(warn_ctor_dtor_privacy) Warning Warn when all constructors and destructors are private Wdeclaration-after-statement -C ObjC Var(warn_declaration_after_statement) +C ObjC Var(warn_declaration_after_statement) Warning Warn when a declaration is found after a statement Wdeprecated -C++ ObjC++ Var(warn_deprecated) Init(1) +C++ ObjC++ Var(warn_deprecated) Init(1) Warning Warn about deprecated compiler features Wdiv-by-zero -C ObjC Var(warn_div_by_zero) Init(1) +C ObjC C++ Var(warn_div_by_zero) Init(1) Warning Warn about compile-time integer division by zero Weffc++ -C++ ObjC++ Var(warn_ecpp) +C++ ObjC++ Var(warn_ecpp) Warning Warn about violations of Effective C++ style rules +Wempty-body +C ObjC C++ ObjC++ Var(warn_empty_body) Init(-1) Warning +Warn about an empty body in an if or else statement + Wendif-labels -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Warning Warn about stray tokens after #elif and #endif Werror @@ -172,230 +193,270 @@ C ObjC C++ ObjC++ ; Documented in common.opt Werror-implicit-function-declaration -C ObjC RejectNegative -Make implicit function declarations an error +C ObjC RejectNegative Warning +This switch is deprecated; use -Werror=implicit-function-declaration instead Wfloat-equal -C ObjC C++ ObjC++ Var(warn_float_equal) +C ObjC C++ ObjC++ Var(warn_float_equal) Warning Warn if testing floating point numbers for equality Wformat -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Warning Warn about printf/scanf/strftime/strfmon format string anomalies Wformat-extra-args -C ObjC C++ ObjC++ Var(warn_format_extra_args) +C ObjC C++ ObjC++ Var(warn_format_extra_args) Warning Warn if passing too many arguments to a function for its format string Wformat-nonliteral -C ObjC C++ ObjC++ Var(warn_format_nonliteral) +C ObjC C++ ObjC++ Var(warn_format_nonliteral) Warning Warn about format strings that are not literals Wformat-security -C ObjC C++ ObjC++ Var(warn_format_security) +C ObjC C++ ObjC++ Var(warn_format_security) Warning Warn about possible security problems with format functions Wformat-y2k -C ObjC C++ ObjC++ Var(warn_format_y2k) +C ObjC C++ ObjC++ Var(warn_format_y2k) Warning Warn about strftime formats yielding 2-digit years Wformat-zero-length -C ObjC Var(warn_format_zero_length) +C ObjC Var(warn_format_zero_length) Warning Warn about zero-length formats Wformat= -C ObjC C++ ObjC++ Joined +C ObjC C++ ObjC++ Joined Warning Winit-self -C ObjC C++ ObjC++ Var(warn_init_self) -Warn about variables which are initialized to themselves. +C ObjC C++ ObjC++ Var(warn_init_self) Warning +Warn about variables which are initialized to themselves Wimplicit -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Warning Wimplicit-function-declaration -C ObjC Var(mesg_implicit_function_declaration) Init(-1) +C ObjC Var(warn_implicit_function_declaration) Init(-1) Warning Warn about implicit function declarations Wimplicit-int -C ObjC Var(warn_implicit_int) +C ObjC Var(warn_implicit_int) Warning Warn when a declaration does not specify a type Wimport C ObjC C++ ObjC++ -Deprecated. This switch has no effect. +Deprecated. This switch has no effect + +Wint-to-pointer-cast +C ObjC Var(warn_int_to_pointer_cast) Init(1) Warning +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) +C++ ObjC++ Var(warn_invalid_offsetof) Init(1) Warning Warn about invalid uses of the \"offsetof\" macro Winvalid-pch -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Warning Warn about PCH files that are found but not used Wlong-long -C ObjC C++ ObjC++ Var(warn_long_long) Init(1) +C ObjC C++ ObjC++ Var(warn_long_long) Init(1) Warning Do not warn about using \"long long\" when -pedantic Wmain -C ObjC +C ObjC Warning Warn about suspicious declarations of \"main\" Wmissing-braces -C ObjC C++ ObjC++ Var(warn_missing_braces) +C ObjC C++ ObjC++ Var(warn_missing_braces) Warning Warn about possibly missing braces around initializers Wmissing-declarations -C ObjC Var(warn_missing_declarations) +C ObjC C++ ObjC++ Var(warn_missing_declarations) Warning Warn about global functions without previous declarations Wmissing-field-initializers -C ObjC C++ ObjC++ Var(warn_missing_field_initializers) Init(-1) +C ObjC C++ ObjC++ Var(warn_missing_field_initializers) Init(-1) Warning Warn about missing fields in struct initializers Wmissing-format-attribute -C ObjC C++ ObjC++ Var(warn_missing_format_attribute) +C ObjC C++ ObjC++ Var(warn_missing_format_attribute) Warning Warn about functions which might be candidates for format attributes Wmissing-include-dirs -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Warning Warn about user-specified include directories that do not exist +Wmissing-parameter-type +C ObjC Var(warn_missing_parameter_type) Init(-1) Warning +Warn about function parameters declared without a type specifier in K&R-style functions + Wmissing-prototypes -C ObjC Var(warn_missing_prototypes) +C ObjC Var(warn_missing_prototypes) Warning Warn about global functions without prototypes Wmultichar -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Warning Warn about use of multi-character character constants Wnested-externs -C ObjC Var(warn_nested_externs) +C ObjC Var(warn_nested_externs) Warning Warn about \"extern\" declarations not at file scope Wnon-template-friend -C++ ObjC++ Var(warn_nontemplate_friend) Init(1) +C++ ObjC++ Var(warn_nontemplate_friend) Init(1) Warning Warn when non-templatized friend functions are declared within a template Wnon-virtual-dtor -C++ ObjC++ Var(warn_nonvdtor) +C++ ObjC++ Var(warn_nonvdtor) Warning Warn about non-virtual destructors Wnonnull -C ObjC Var(warn_nonnull) +C ObjC Var(warn_nonnull) Warning Warn about NULL being passed to argument slots marked as requiring non-NULL Wnormalized= -C ObjC C++ ObjC++ Joined +C ObjC C++ ObjC++ Joined Warning -Wnormalized= Warn about non-normalised Unicode strings Wold-style-cast -C++ ObjC++ Var(warn_old_style_cast) +C++ ObjC++ Var(warn_old_style_cast) Warning Warn if a C-style cast is used in a program +Wold-style-declaration +C ObjC Var(warn_old_style_declaration) Init(-1) Warning +Warn for obsolescent usage in a declaration + Wold-style-definition -C ObjC Var(warn_old_style_definition) +C ObjC Var(warn_old_style_definition) Warning Warn if an old-style parameter definition is used +Woverlength-strings +C ObjC C++ ObjC++ Var(warn_overlength_strings) Init(-1) Warning +Warn if a string is longer than the maximum portable length specified by the standard + Woverloaded-virtual -C++ ObjC++ Var(warn_overloaded_virtual) +C++ ObjC++ Var(warn_overloaded_virtual) Warning Warn about overloaded virtual function names +Woverride-init +C ObjC Var(warn_override_init) Init(-1) Warning +Warn about overriding initializers without side effects + Wparentheses -C ObjC C++ ObjC++ Var(warn_parentheses) +C ObjC C++ ObjC++ Var(warn_parentheses) Warning Warn about possibly missing parentheses Wpmf-conversions -C++ ObjC++ Var(warn_pmf2ptr) Init(1) +C++ ObjC++ Var(warn_pmf2ptr) Init(1) Warning Warn when converting the type of pointers to member functions Wpointer-arith -C ObjC C++ ObjC++ Var(warn_pointer_arith) +C ObjC C++ ObjC++ Var(warn_pointer_arith) Warning Warn about function pointer arithmetic +Wpointer-to-int-cast +C ObjC Var(warn_pointer_to_int_cast) Init(1) Warning +Warn when a pointer is cast to an integer of a different size + +Wpragmas +C ObjC C++ ObjC++ Var(warn_pragmas) Init(1) Warning +Warn about misuses of pragmas + Wprotocol -ObjC ObjC++ Var(warn_protocol) Init(1) +ObjC ObjC++ Var(warn_protocol) Init(1) Warning Warn if inherited methods are unimplemented Wredundant-decls -C ObjC C++ ObjC++ Var(warn_redundant_decls) +C ObjC C++ ObjC++ Var(warn_redundant_decls) Warning Warn about multiple declarations of the same object Wreorder -C++ ObjC++ Var(warn_reorder) +C++ ObjC++ Var(warn_reorder) Warning Warn when the compiler reorders code Wreturn-type -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Var(warn_return_type) Warning Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++) Wselector -ObjC ObjC++ Var(warn_selector) +ObjC ObjC++ Var(warn_selector) Warning Warn if a selector has multiple methods Wsequence-point -C ObjC C++ ObjC++ Var(warn_sequence_point) +C ObjC C++ ObjC++ Var(warn_sequence_point) Warning Warn about possible violations of sequence point rules Wsign-compare -C ObjC C++ ObjC++ Var(warn_sign_compare) Init(-1) +C ObjC C++ ObjC++ Var(warn_sign_compare) Init(-1) Warning Warn about signed-unsigned comparisons Wsign-promo -C++ ObjC++ Var(warn_sign_promo) +C++ ObjC++ Var(warn_sign_promo) Warning Warn when overload promotes from unsigned to signed +Wstrict-null-sentinel +C++ ObjC++ Warning +Warn about uncasted NULL used as sentinel + Wstrict-prototypes -C ObjC Var(warn_strict_prototypes) +C ObjC Var(warn_strict_prototypes) Warning Warn about unprototyped function declarations +Wstrict-selector-match +ObjC ObjC++ Var(warn_strict_selector_match) Warning +Warn if type signatures of candidate methods do not match exactly + Wsynth -C++ ObjC++ Var(warn_synth) +C++ ObjC++ Var(warn_synth) Warning Warn when synthesis behavior differs from Cfront Wsystem-headers -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Warning Do not suppress warnings from system headers Wtraditional -C ObjC Var(warn_traditional) +C ObjC Var(warn_traditional) Warning Warn about features not present in traditional C +Wtraditional-conversion +C ObjC Var(warn_traditional_conversion) Warning +Warn of prototypes causing type conversions different from what would happen in the absence of prototype + Wtrigraphs -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Warning Warn if trigraphs are encountered that might affect the meaning of the program Wundeclared-selector -ObjC ObjC++ Var(warn_undeclared_selector) +ObjC ObjC++ Var(warn_undeclared_selector) Warning Warn about @selector()s without previously declared methods Wundef -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Warning Warn if an undefined macro is used in an #if directive Wunknown-pragmas -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Warning Warn about unrecognized pragmas Wunused-macros -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Warning Warn about macros defined in the main file that are not used Wvariadic-macros -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Warning Do not warn about using variadic macros when -pedantic Wwrite-strings -C ObjC C++ ObjC++ -Give strings the type \"array of char\" +C ObjC C++ ObjC++ Var(warn_write_strings) Warning +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. +C ObjC Var(warn_pointer_sign) Init(-1) Warning +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++). +A synonym for -std=c89 (for C) or -std=c++98 (for C++) d C ObjC C++ ObjC++ Joined @@ -435,10 +496,6 @@ fconserve-space C++ ObjC++ Reduce the size of object files -fconst-strings -C++ ObjC++ -Make string literals \"const char[]\" not \"char[]\" - fconstant-string-class= ObjC ObjC++ Joined -fconst-string-class= Use class for constant strings @@ -465,20 +522,18 @@ fexec-charset= C ObjC C++ ObjC++ Joined RejectNegative -fexec-charset= Convert all strings and character constants to character set +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= Specify the default character set for source files. +-finput-charset= Specify the default character set for source files fexternal-templates C++ ObjC++ -ffixed-form -C ObjC - -ffixed-line-length- -C ObjC Joined - ffor-scope C++ ObjC++ Scope of for-init-statement variables is local to the loop @@ -499,7 +554,7 @@ fguiding-decls C++ ObjC++ fhandle-exceptions -C++ ObjC++ +C++ ObjC++ Optimization fhonor-std C++ ObjC++ @@ -524,9 +579,17 @@ fimplicit-templates C++ ObjC++ Emit implicit instantiations of templates +ffriend-injection +C++ 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 @@ -551,14 +614,35 @@ 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++ +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 + +; Nonzero means that we generate NeXT setjmp based exceptions. fobjc-sjlj-exceptions -ObjC ObjC++ +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\" @@ -591,24 +675,21 @@ C++ ObjC++ Enable automatic template instantiation frtti -C++ ObjC++ +C++ ObjC++ Optimization Generate run time type descriptor information fshort-double -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Optimization Use the same size for double as for float fshort-enums -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Optimization Use the narrowest integer type possible for enumeration types fshort-wchar -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Optimization Force the underlying type for \"wchar_t\" to be \"unsigned short\" -fshow-column -C ObjC C++ ObjC++ - fsigned-bitfields C ObjC C++ ObjC++ When \"signed\" or \"unsigned\" is not given make the bitfield signed @@ -632,15 +713,15 @@ C ObjC C++ ObjC++ Joined RejectNegative UInteger -ftabstop= Distance between tab stops for column reporting ftemplate-depth- -C++ ObjC++ Joined RejectNegative UInteger +C++ ObjC++ Joined RejectNegative UInteger -ftemplate-depth- 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. +C++ ObjC++ Optimization +-fno-threadsafe-statics Do not generate thread-safe code for initializing local statics funsigned-bitfields C ObjC C++ ObjC++ @@ -654,8 +735,12 @@ 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++ +C++ ObjC++ Marks all inlined methods as having hidden visibility fvtable-gc @@ -698,6 +783,10 @@ imacros C ObjC C++ ObjC++ Joined Separate -imacros Accept definition of macros in +imultilib +C ObjC C++ ObjC++ Joined Separate +-imultilib Set to be the multilib include subdirectory + include C ObjC C++ ObjC++ Joined Separate -include Include the contents of before other files @@ -729,6 +818,9 @@ C ObjC C++ ObjC++ Joined Separate lang-asm C Undocumented +lang-fortran +C Undocumented + lang-objc C ObjC C++ ObjC++ Undocumented @@ -756,6 +848,10 @@ 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 @@ -764,6 +860,13 @@ std=c++98 C++ ObjC++ Conform to the ISO 1998 C++ standard +std=c++0x +C++ ObjC++ +Conform to the ISO 1998 C++ standard, with extensions that are likely to +become a part of the upcoming ISO C++ standard, dubbed C++0x. Note that the +extensions enabled by this mode are experimental and may be removed in +future releases of GCC. + std=c89 C ObjC Conform to the ISO 1990 C standard @@ -780,6 +883,13 @@ std=gnu++98 C++ ObjC++ Conform to the ISO 1998 C++ standard with GNU extensions +std=gnu++0x +C++ ObjC++ +Conform to the ISO 1998 C++ standard, with GNU extensions and +extensions that are likely to become a part of the upcoming ISO C++ +standard, dubbed C++0x. Note that the extensions enabled by this mode +are experimental and may be removed in future releases of GCC. + std=gnu89 C ObjC Conform to the ISO 1990 C standard with GNU extensions