X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fc.opt;h=37c55bedadf6627647214e16ba27a8e8d8c1feb1;hb=ea4f541fdfdd9c82753dbfd6614e6f9d10be14aa;hp=d650f111168e9b805078f227abef86d682902c39;hpb=c1d4295ffc35ae47e9423844877c4c2e4ce7565e;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/c.opt b/gcc/c.opt index d650f111168..37c55bedadf 100644 --- a/gcc/c.opt +++ b/gcc/c.opt @@ -1,22 +1,21 @@ ; 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, 2007 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 +; Software Foundation; either version 3, 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. +; along with GCC; see the file COPYING3. If not see +; . ; See the GCC internals manual for a description of this file's format. @@ -113,68 +112,91 @@ 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 +Waddress +C ObjC C++ ObjC++ Var(warn_address) Warning +Warn about suspicious uses of memory addresses + Wall -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Warning Enable most warning messages +Wtype-limits +C ObjC C++ ObjC++ Var(warn_type_limits) Init(-1) Warning +Warn if a comparison is always true or always false due to the limited range of the data type + Wassign-intercept -ObjC ObjC++ Var(warn_assign_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) +C ObjC 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) Warning +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 + +Wsign-conversion +C ObjC C++ ObjC++ Var(warn_sign_conversion) Init(-1) +Warn for implicit type conversions between signed and unsigned integers 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++ ObjC++ 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 @@ -182,53 +204,57 @@ 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-contains-nul +C ObjC C++ ObjC++ Var(warn_format_contains_nul) Warning +Warn about format strings that contain NUL bytes + 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) +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 @@ -236,191 +262,215 @@ C ObjC C++ ObjC++ Deprecated. This switch has no effect Wint-to-pointer-cast -C ObjC Var(warn_int_to_pointer_cast) Init(1) +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 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) +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) +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++ Var(warn_return_type) +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++ +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) +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 +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++ -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) +C ObjC Var(warn_pointer_sign) Init(-1) Warning Warn when a pointer differs in signedness in an assignment ansi @@ -465,10 +515,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 @@ -477,6 +523,10 @@ 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 @@ -495,6 +545,10 @@ 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 @@ -503,18 +557,12 @@ C ObjC C++ ObjC++ Joined RejectNegative 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 ffreestanding -C ObjC +C ObjC C++ ObjC++ Do not assume that standard C libraries and \"main\" exist fgnu-keywords @@ -525,11 +573,15 @@ 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++ +C++ ObjC++ Optimization fhonor-std C++ ObjC++ @@ -555,12 +607,16 @@ C++ ObjC++ Emit implicit instantiations of templates ffriend-injection -C++ Var(flag_friend_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 @@ -610,6 +666,10 @@ 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\" @@ -642,19 +702,19 @@ 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\" fsigned-bitfields @@ -680,14 +740,14 @@ 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++ +C++ ObjC++ Optimization -fno-threadsafe-statics Do not generate thread-safe code for initializing local statics funsigned-bitfields @@ -702,10 +762,18 @@ 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 @@ -738,6 +806,18 @@ 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= Detailed reduced debug info for structs + idirafter C ObjC C++ ObjC++ Joined Separate -idirafter Add to the end of the system include path @@ -746,6 +826,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 @@ -777,6 +861,9 @@ C ObjC C++ ObjC++ Joined Separate lang-asm C Undocumented +lang-fortran +C Undocumented + lang-objc C ObjC C++ ObjC++ Undocumented @@ -816,6 +903,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 @@ -832,6 +926,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