| ; Options for the C, ObjC, C++ and ObjC++ front ends. |
| ; Copyright (C) 2003 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, 59 Temple Place - Suite 330, Boston, MA |
| ; 02111-1307, USA. |
| |
| |
| ; This file is processed by the script opts.sh. It is a database of |
| ; command line options, with each record separated by a blank line, |
| ; and each field appearing on its own line. The first field is the |
| ; command-line switch with the leading "-" removed. All options |
| ; beginning with "f" or "W" are implicitly assumed to take a "no-" |
| ; form; this form should not be listed. If you do not want this |
| ; negative form and you want it to be automatically rejected, add |
| ; RejectNegative to the second field. |
| |
| ; The second field is a space-separated list of which parts of the |
| ; compiler recognize the switch, as declared by "Language" entries. |
| ; If the switch takes an argument, then you should also specify |
| ; "Joined" and/or "Separate" to indicate where the argument can |
| ; appear. If a Joined argument can legitimately be omitted, specify |
| ; "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. |
| |
| ; The third field is the help text to output with --help. This is |
| ; automatically line-wrapped on output. Normally the switch is output |
| ; automatically, with the help text on the right hand side of the |
| ; 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. 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. |
| |
| ; For each switch XXX below, an enumeration constant is created by the |
| ; script opts.sh spelt OPT_XXX, but with all non-alphanumeric |
| ; characters replaced with an underscore. |
| |
| ; 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 |
| |
| 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. -I- gives more include path control; see info documentation |
| |
| 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++ |
| |
| Wall |
| C ObjC C++ ObjC++ |
| Enable most warning messages |
| |
| Wbad-function-cast |
| C ObjC |
| Warn about casting functions to incompatible types |
| |
| Wcast-qual |
| C ObjC C++ ObjC++ |
| Warn about casts which discard qualifiers |
| |
| Wchar-subscripts |
| C ObjC C++ ObjC++ |
| 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++ |
| Warn about possibly confusing type conversions |
| |
| Wctor-dtor-privacy |
| C++ ObjC++ |
| Warn when all constructors and destructors are private |
| |
| Wdeclaration-after-statement |
| C ObjC |
| Warn when a declaration is found after a statement |
| |
| Wdeprecated |
| C++ ObjC++ |
| Warn about deprecated compiler features |
| |
| Wdiv-by-zero |
| C ObjC |
| Warn about compile-time integer division by zero |
| |
| Weffc++ |
| C++ ObjC++ |
| 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++ |
| 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++ |
| Warn if passing too many arguments to a function for its format string |
| |
| Wformat-nonliteral |
| C ObjC C++ ObjC++ |
| Warn about format strings that are not literals |
| |
| Wformat-security |
| C ObjC C++ ObjC++ |
| Warn about possible security problems with format functions |
| |
| Wformat-y2k |
| C ObjC C++ ObjC++ |
| Warn about strftime formats yielding 2-digit years |
| |
| Wformat-zero-length |
| C ObjC |
| |
| Wformat= |
| C ObjC C++ ObjC++ Joined |
| |
| Winit-self |
| C ObjC C++ ObjC++ |
| Warn about variables which are initialized to themselves. |
| |
| Wimplicit |
| C ObjC C++ ObjC++ |
| |
| Wimplicit-function-declaration |
| C ObjC |
| Warn about implicit function declarations |
| |
| Wimplicit-int |
| C ObjC |
| Warn when a declaration does not specify a type |
| |
| Wimport |
| C ObjC C++ ObjC++ |
| Deprecated. This switch has no effect. |
| |
| Winvalid-offsetof |
| C++ ObjC++ |
| 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++ |
| Do not warn about using \"long long\" when -pedantic |
| |
| Wmain |
| C ObjC |
| Warn about suspicious declarations of \"main\" |
| |
| Wmissing-braces |
| C ObjC C++ ObjC++ |
| Warn about possibly missing braces around initializers |
| |
| Wmissing-declarations |
| C ObjC |
| Warn about global functions without previous declarations |
| |
| Wmissing-format-attribute |
| C ObjC C++ ObjC++ |
| Warn about functions which might be candidates for format attributes |
| |
| Wmissing-prototypes |
| C ObjC |
| Warn about global functions without prototypes |
| |
| Wmultichar |
| C ObjC C++ ObjC++ |
| Warn about use of multi-character character constants |
| |
| Wnested-externs |
| C ObjC |
| Warn about \"extern\" declarations not at file scope |
| |
| Wnon-template-friend |
| C++ ObjC++ |
| Warn when non-templatized friend functions are declared within a template |
| |
| Wnon-virtual-dtor |
| C++ ObjC++ |
| Warn about non-virtual destructors |
| |
| Wnonnull |
| C ObjC |
| |
| Wold-style-cast |
| C++ ObjC++ |
| Warn if a C-style cast is used in a program |
| |
| Wold-style-definition |
| C ObjC |
| Warn if an old-style parameter definition is used |
| |
| Woverloaded-virtual |
| C++ ObjC++ |
| Warn about overloaded virtual function names |
| |
| Wparentheses |
| C ObjC C++ ObjC++ |
| Warn about possibly missing parentheses |
| |
| Wpmf-conversions |
| C++ ObjC++ |
| Warn when converting the type of pointers to member functions |
| |
| Wpointer-arith |
| C ObjC C++ ObjC++ |
| Warn about function pointer arithmetic |
| |
| Wprotocol |
| ObjC ObjC++ |
| Warn if inherited methods are unimplemented |
| |
| Wredundant-decls |
| C ObjC C++ ObjC++ |
| Warn about multiple declarations of the same object |
| |
| Wreorder |
| C++ ObjC++ |
| Warn when the compiler reorders code |
| |
| Wreturn-type |
| C ObjC C++ ObjC++ |
| Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++) |
| |
| Wselector |
| ObjC ObjC++ |
| Warn if a selector has multiple methods |
| |
| Wsequence-point |
| C ObjC |
| Warn about possible violations of sequence point rules |
| |
| Wsign-compare |
| C ObjC C++ ObjC++ |
| Warn about signed-unsigned comparisons |
| |
| Wsign-promo |
| C++ ObjC++ |
| Warn when overload promotes from unsigned to signed |
| |
| Wstrict-prototypes |
| C ObjC |
| Warn about unprototyped function declarations |
| |
| Wsynth |
| C++ ObjC++ |
| Warn when synthesis behavior differs from Cfront |
| |
| Wsystem-headers |
| C ObjC C++ ObjC++ |
| Do not suppress warnings from system headers |
| |
| Wtraditional |
| C ObjC |
| Warn about features not present in traditional C |
| |
| Wtrigraphs |
| C ObjC C++ ObjC++ |
| Warn if trigraphs are encountered that might affect the meaning of the program |
| |
| Wundeclared-selector |
| ObjC ObjC++ |
| |
| 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 |
| |
| Wwrite-strings |
| C ObjC C++ ObjC++ |
| Give strings the type \"array of char\" |
| |
| ansi |
| C ObjC C++ ObjC++ |
| A synonym for -std=c89. In a future version of GCC it will become synonymous with -std=c99 instead |
| |
| 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 |
| |
| fconst-strings |
| C++ ObjC++ |
| Make string literals \"const char[]\" not \"char[]\" |
| |
| 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 |
| |
| fdollars-in-identifiers |
| C ObjC C++ ObjC++ |
| Permit '$' as an identifier character |
| |
| fdump- |
| C ObjC C++ ObjC++ Joined RejectNegative |
| -fdump-<type> Dump various compiler internals to a file |
| |
| 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> |
| |
| finput-charset= |
| C ObjC C++ ObjC++ Joined RejectNegative |
| -finput-charset=<cset> 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 |
| |
| 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 |
| |
| 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 |
| |
| flabels-ok |
| C++ ObjC++ |
| |
| fms-extensions |
| C ObjC C++ ObjC++ |
| Don't warn about uses of Microsoft extensions |
| |
| fname-mangling-version- |
| C++ ObjC++ Joined |
| |
| fnew-abi |
| 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++ |
| |
| fnonnull-objects |
| C++ ObjC++ |
| |
| fobjc-exceptions |
| ObjC ObjC++ |
| Enable Objective-C exception and synchronization syntax |
| |
| foperator-names |
| C++ ObjC++ |
| Recognize C++ kewords like \"compl\" and \"xor\" |
| |
| foptional-diags |
| C++ ObjC++ |
| Enable optional diagnostics |
| |
| fpch-deps |
| C ObjC C++ ObjC++ |
| |
| 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\" |
| |
| fshow-column |
| C ObjC C++ ObjC++ |
| |
| 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++ |
| |
| 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 |
| |
| 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 |
| |
| 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> |
| |
| 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 |
| |
| 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-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 |
| |
| 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 |
| Deprecated in favor of -std=c89 |
| |
| std=iso9899:199409 |
| C ObjC |
| Conform to the ISO 1990 C standard as amended in 1994 |
| |
| std=iso9899:1999 |
| C ObjC |
| Deprecated in favor of -std=c99 |
| |
| std=iso9899:199x |
| C ObjC |
| Deprecated in favor of -std=c99 |
| |
| 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. |