X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fc.opt;h=c93fe7e895a538716a6e82baa17d322d17ce71d7;hb=5d4b6e9c06cae8242813f303f804f31222500c65;hp=097775823b52a1ab13ba179460b166b0f752876a;hpb=5db89c4d669eb2315d2accaab1d748c08d6c6b11;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/c.opt b/gcc/c.opt index 097775823b5..c93fe7e895a 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 Free Software Foundation, Inc. +; Copyright (C) 2003, 2004 Free Software Foundation, Inc. ; ; This file is part of GCC. ; @@ -36,7 +36,14 @@ ; "JoinedOrMissing" instead of "Joined". If the argument to a switch ; is a non-negative integer, you can specify "UInteger" and the switch ; decoder will convert the argument for you, or complain to the user -; if the argument is invalid. +; if the argument is invalid. "Var(name,set)" creates an integer +; variable "name". The variable is declared and initialized to value +; given by "Init(value)" (or zero if this property is not defined). +; When the option is passed to compiler, this variable is set to "set" +; if value passed through the flag is nonzero, !"set" if value is zero, +; or to value if "set" is omitted. If "VarExists" is specified, the +; declaration for the variable is not created. If "Report" is specified, +; the flag is output with -fverbose-asm. ; The third field is the help text to output with --help. This is ; automatically line-wrapped on output. Normally the switch is output @@ -44,7 +51,11 @@ ; 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. @@ -87,7 +98,11 @@ C ObjC C++ ObjC++ Joined Separate -D[=] Define a with as its value. If just is given, is taken to be 1 E -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Undocumented + +F +C ObjC C++ ObjC++ Joined Separate +-F Add to the end of the main framework include path H C ObjC C++ ObjC++ @@ -95,7 +110,7 @@ Print the name of header files as they are used I C ObjC C++ ObjC++ Joined Separate --I Add to the end of the main include path. -I- gives more include path control; see info documentation +-I Add to the end of the main include path M C ObjC C++ ObjC++ @@ -142,22 +157,23 @@ C ObjC C++ ObjC++ Joined Separate -U Undefine Wabi -C++ ObjC++ +C++ ObjC++ Var(warn_abi) +Warn about things that will change when compiling with an ABI-compliant compiler Wall C ObjC C++ ObjC++ Enable most warning messages Wbad-function-cast -C ObjC +C ObjC Var(warn_bad_function_cast) Warn about casting functions to incompatible types Wcast-qual -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Var(warn_cast_qual) Warn about casts which discard qualifiers Wchar-subscripts -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Var(warn_char_subscripts) Warn about subscripts whose type is \"char\" Wcomment @@ -169,23 +185,27 @@ C ObjC C++ ObjC++ Synonym for -Wcomment Wconversion -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Var(warn_conversion) Warn about possibly confusing type conversions Wctor-dtor-privacy -C++ ObjC++ +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++ +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++ +C++ ObjC++ Var(warn_ecpp) Warn about violations of Effective C++ style rules Wendif-labels @@ -201,7 +221,7 @@ C ObjC RejectNegative Make implicit function declarations an error Wfloat-equal -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Var(warn_float_equal) Warn if testing floating point numbers for equality Wformat @@ -209,44 +229,49 @@ C ObjC C++ ObjC++ Warn about printf/scanf/strftime/strfmon format string anomalies Wformat-extra-args -C ObjC C++ ObjC++ +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++ +C ObjC C++ ObjC++ Var(warn_format_nonliteral) Warn about format strings that are not literals Wformat-security -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Var(warn_format_security) Warn about possible security problems with format functions Wformat-y2k -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Var(warn_format_y2k) Warn about strftime formats yielding 2-digit years Wformat-zero-length -C ObjC +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 +C ObjC Var(mesg_implicit_function_declaration) Init(-1) Warn about implicit function declarations Wimplicit-int -C ObjC +C ObjC Var(warn_implicit_int) Warn when a declaration does not specify a type Wimport C ObjC C++ ObjC++ -Warn about uses of the \"#import\" directive +Deprecated. This switch has no effect. Winvalid-offsetof -C++ ObjC++ +C++ ObjC++ Var(warn_invalid_offsetof) Init(1) Warn about invalid uses of the \"offsetof\" macro Winvalid-pch @@ -254,7 +279,7 @@ C ObjC C++ ObjC++ Warn about PCH files that are found but not used Wlong-long -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Var(warn_long_long) Init(1) Do not warn about using \"long long\" when -pedantic Wmain @@ -262,19 +287,27 @@ C ObjC Warn about suspicious declarations of \"main\" Wmissing-braces -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Var(warn_missing_braces) Warn about possibly missing braces around initializers Wmissing-declarations -C ObjC +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++ +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 +C ObjC Var(warn_missing_prototypes) Warn about global functions without prototypes Wmultichar @@ -282,49 +315,55 @@ C ObjC C++ ObjC++ Warn about use of multi-character character constants Wnested-externs -C ObjC +C ObjC Var(warn_nested_externs) Warn about \"extern\" declarations not at file scope Wnon-template-friend -C++ ObjC++ +C++ ObjC++ Var(warn_nontemplate_friend) Init(1) Warn when non-templatized friend functions are declared within a template Wnon-virtual-dtor -C++ ObjC++ +C++ ObjC++ Var(warn_nonvdtor) Warn about non-virtual destructors Wnonnull -C ObjC +C ObjC Var(warn_nonnull) +Warn about NULL being passed to argument slots marked as requiring non-NULL Wold-style-cast -C++ ObjC++ +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 + Woverloaded-virtual -C++ ObjC++ +C++ ObjC++ Var(warn_overloaded_virtual) Warn about overloaded virtual function names Wparentheses -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Var(warn_parentheses) Warn about possibly missing parentheses Wpmf-conversions -C++ ObjC++ +C++ ObjC++ Var(warn_pmf2ptr) Init(1) Warn when converting the type of pointers to member functions Wpointer-arith -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Var(warn_pointer_arith) Warn about function pointer arithmetic Wprotocol -ObjC ObjC++ +ObjC ObjC++ Var(warn_protocol) Init(1) +Warn if inherited methods are unimplemented Wredundant-decls -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Var(warn_redundant_decls) Warn about multiple declarations of the same object Wreorder -C++ ObjC++ +C++ ObjC++ Var(warn_reorder) Warn when the compiler reorders code Wreturn-type @@ -332,26 +371,27 @@ C ObjC C++ ObjC++ Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++) Wselector -ObjC ObjC++ +ObjC ObjC++ Var(warn_selector) +Warn if a selector has multiple methods Wsequence-point -C ObjC +C ObjC C++ ObjC++ Var(warn_sequence_point) Warn about possible violations of sequence point rules Wsign-compare -C ObjC C++ ObjC++ +C ObjC C++ ObjC++ Var(warn_sign_compare) Init(-1) Warn about signed-unsigned comparisons Wsign-promo -C++ ObjC++ +C++ ObjC++ Var(warn_sign_promo) Warn when overload promotes from unsigned to signed Wstrict-prototypes -C ObjC +C ObjC Var(warn_strict_prototypes) Warn about unprototyped function declarations Wsynth -C++ ObjC++ +C++ ObjC++ Var(warn_synth) Warn when synthesis behavior differs from Cfront Wsystem-headers @@ -359,7 +399,7 @@ C ObjC C++ ObjC++ Do not suppress warnings from system headers Wtraditional -C ObjC +C ObjC Var(warn_traditional) Warn about features not present in traditional C Wtrigraphs @@ -367,7 +407,8 @@ C ObjC C++ ObjC++ Warn if trigraphs are encountered that might affect the meaning of the program Wundeclared-selector -ObjC ObjC++ +ObjC ObjC++ Var(warn_undeclared_selector) +Warn about @selector()s without previously declared methods Wundef C ObjC C++ ObjC++ @@ -381,6 +422,10 @@ 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 + Wwrite-strings C ObjC C++ ObjC++ Give strings the type \"array of char\" @@ -393,9 +438,6 @@ d C ObjC C++ ObjC++ Joined ; Documented in common.opt. FIXME - what about -dI, -dD, -dN and -dD? -fabi-version= -C++ ObjC++ Joined UInteger - faccess-control C++ ObjC++ Enforce class member access control semantics @@ -436,6 +478,7 @@ Make string literals \"const char[]\" not \"char[]\" fconstant-string-class= ObjC ObjC++ Joined +-fconst-string-class= Use class for constant strings fdefault-inline C++ ObjC++ @@ -445,10 +488,6 @@ fdollars-in-identifiers C ObjC C++ ObjC++ Permit '$' as an identifier character -fdump- -C ObjC C++ ObjC++ Joined RejectNegative --fdump- Dump various compiler internals to a file - felide-constructors C++ ObjC++ @@ -463,6 +502,11 @@ fexec-charset= C ObjC C++ ObjC++ Joined RejectNegative -fexec-charset= Convert all strings and character constants to character set +finput-charset= +C ObjC C++ ObjC++ Joined RejectNegative +-finput-charset= Specify the default character set for source files. + + fexternal-templates C++ ObjC++ @@ -486,6 +530,7 @@ Recognize GNU-defined keywords fgnu-runtime ObjC ObjC++ +Generate code for GNU runtime environment fguiding-decls C++ ObjC++ @@ -531,6 +576,11 @@ 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++ @@ -538,6 +588,14 @@ C++ ObjC++ fnonnull-objects C++ ObjC++ +fobjc-exceptions +ObjC ObjC++ +Enable Objective-C exception and synchronization syntax + +fobjc-sjlj-exceptions +ObjC ObjC++ +Enable Objective-C setjmp exception handling runtime + foperator-names C++ ObjC++ Recognize C++ kewords like \"compl\" and \"xor\" @@ -549,6 +607,10 @@ 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 @@ -557,6 +619,10 @@ 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 @@ -609,6 +675,10 @@ C++ ObjC++ Joined RejectNegative UInteger 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 @@ -621,6 +691,10 @@ fuse-cxa-atexit C++ ObjC++ Use __cxa_atexit to register destructors +fvisibility-inlines-hidden +C++ +Marks all inlined methods as having hidden visibility + fvtable-gc C++ ObjC++ Discard unused virtual functions @@ -637,12 +711,21 @@ fwide-exec-charset= C ObjC C++ ObjC++ Joined RejectNegative -fwide-exec-charset= Convert all wide strings and character constants to character set +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 @@ -668,6 +751,10 @@ isystem C ObjC C++ ObjC++ Joined Separate -isystem Add to the start of the system include path +iquote +C ObjC C++ ObjC++ Joined Separate +-iquote Add to the end of the quote include path + iwithprefix C ObjC C++ ObjC++ Joined Separate -iwithprefix Add to the end of the system include path @@ -677,12 +764,10 @@ C ObjC C++ ObjC++ Joined Separate -iwithprefixbefore Add 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++ @@ -706,6 +791,7 @@ C ObjC C++ ObjC++ print-objc-runtime-info ObjC ObjC++ +Generate C header of platform-specific features remap C ObjC C++ ObjC++