-pass-exit-codes | Exit with highest error code from a phase. | help + man |
--help | Print (on the standard output) a description of the command-line options understood by gcc. | help + man |
--target-help | Print (on the standard output) a description of target-specific command-line options for each tool. | help + man |
--version | Display the version number and copyrights of the invoked GCC. | help + man |
-dumpspecs | Display all of the built in spec strings. | help |
-dumpversion | Display the version of the compiler. | help |
-dumpmachine | Display the compiler's target processor. | help |
-foffload targets | Diagnostic Message Formatting Options | help + man |
-print-search-dirs | Display the directories in the compiler's search path. | help |
-print-libgcc-file-name | Display the name of the compiler's companion library. | help |
-print-file-name lib | Display the full path to library <lib>. | help |
-print-prog-name prog | Display the full path to compiler component <prog>. | help |
-print-multiarch | Display the target's normalized GNU triplet, used as a component in the library path. | help |
-print-multi-directory | Display the root directory for versions of libgcc. | help |
-print-multi-lib | Display the mapping between command line options and multiple library search directories. | help |
-print-sysroot | Display the target libraries directory. | help |
-Wa | Pass comma-separated <options> on to the assembler. | help + man |
-Wp | Pass comma-separated <options> on to the preprocessor. | help |
-Wl | Pass comma-separated <options> on to the linker. | help |
-Xassembler arg | Pass <arg> on to the assembler. | help |
-Xpreprocessor arg | Pass <arg> on to the preprocessor. | help |
-Xlinker arg | Pass <arg> on to the linker. | help |
-save-temps | Do not delete intermediate files. | help |
-no-canonical-prefixes | Do not canonicalize paths when building relative prefixes to other gcc components. | help |
-pipe | Use pipes rather than intermediate files. | help + man |
-time | Time the execution of each subprocess. | help |
-specs file | Override built-in specs with the contents of <file>. | help |
-std standard | Assume that the input sources are for <standard>. | help + man |
--sysroot directory | Use <directory> as the root directory for headers and libraries. | help |
-B directory | Add <directory> to the compiler's search paths. | help |
-v | Display the programs invoked by the compiler. | help + man |
-### | Like -v except the commands are not executed and arguments are quoted unless they contain only alphanumeric characters or "./-_". | help + man |
-E | Preprocess only; | help + man |
-S | Compile only; | help + man |
-c | Compile and assemble, but do not link. | help + man |
-o file | Place the output into <file>. | help + man |
-pie | Create a dynamically linked position independent executable. | help |
-shared | Create a shared library. | help |
-x language | Specify the language of the following input files. | help + man |
--language language | (in the manual page but not in --help) | man |
--compile | Compile or assemble the source files, but do not link. (in the manual page but not in --help) | man |
--assemble | Stop after the stage of compilation proper; (in the manual page but not in --help) | man |
--preprocess | Stop after the preprocessing stage; (in the manual page but not in --help) | man |
--output file | (in the manual page but not in --help) | man |
-dumpbase dumpbase | (in the manual page but not in --help) | man |
--dumpbase dumpbase | This option sets the base name for auxiliary and dump output files. (in the manual page but not in --help) | man |
-dumpbase-ext auxdropsuf | (in the manual page but not in --help) | man |
--dumpbase-ext auxdropsuf | When forming the name of an auxiliary (but not a dump) output file, drop trailing auxdropsuf from dumpbase before appending any suffixes. (in the manual page but not in --help) | man |
-dumpdir dumppfx | (in the manual page but not in --help) | man |
--dumpdir dumppfx | When forming the name of an auxiliary or dump output file, use dumppfx as a prefix: (in the manual page but not in --help) | man |
--verbose | Print (on standard error output) the commands executed to run the stages of compilation. (in the manual page but not in --help) | man |
--pass-exit-codes | Normally the gcc program exits with the code of 1 if any phase of the compiler returns a non-success return code. (in the manual page but not in --help) | man |
--pipe | Use pipes rather than temporary files for communication between the various stages of compilation. (in the manual page but not in --help) | man |
-wrapper | Invoke all subcommands under a wrapper program. (in the manual page but not in --help) | man |
-ffile-prefix-map old=new | When compiling files residing in directory old, record any references to them in the result of the compilation as if the files resided in directory new instead. (in the manual page but not in --help) | man |
-fcanon-prefix-map | For the -f-prefix-map options normally comparison of old prefix against the filename that would be normally referenced in the result of the compilation is done using textual comparison of the… (in the manual page but not in --help) | man |
-fplugin name.so | Load the plugin code in file name.so, assumed to be a shared object to be dlopen'd by the compiler. (in the manual page but not in --help) | man |
-fplugin-arg-name-key value | Define an argument called key with a value of value for the plugin called name. (in the manual page but not in --help) | man |
-fada-spec-parent unit | In conjunction with -fdump-ada-spec[-slim] above, generate Ada specs as child units of parent unit. (in the manual page but not in --help) | man |
-fdump-go-spec file | For input files in any language, generate corresponding Go declarations in file. (in the manual page but not in --help) | man |
-ansi | (in the manual page but not in --help) | man |
--ansi | In C mode, this is equivalent to -std=c90. (in the manual page but not in --help) | man |
-aux-info filename | Output to the given filename prototyped declarations for all functions declared and/or defined in a translation unit, including those in header files. (in the manual page but not in --help) | man |
-fno-asm | Do not recognize "asm", "inline" or "typeof" as a keyword, so that code can use these words as identifiers. (in the manual page but not in --help) | man |
-fno-builtin | (in the manual page but not in --help) | man |
-fno-builtin-function | Don't recognize built-in functions that do not begin with __builtin_ as prefix. (in the manual page but not in --help) | man |
-fcond-mismatch | Allow conditional expressions with mismatched types in the second and third arguments. (in the manual page but not in --help) | man |
-ffreestanding | Assert that compilation targets a freestanding environment. (in the manual page but not in --help) | man |
-fgimple | Enable parsing of function definitions marked with "__GIMPLE". (in the manual page but not in --help) | man |
-fgnu-tm | When the option -fgnu-tm is specified, the compiler generates code for the Linux variant of Intel's current Transactional Memory ABI specification document (Revision 1.1, May 6 2009). (in the manual page but not in --help) | man |
-fgnu89-inline | The option -fgnu89-inline tells GCC to use the traditional GNU semantics for "inline" functions when in C99 mode. (in the manual page but not in --help) | man |
-fhosted | Assert that compilation targets a hosted environment. (in the manual page but not in --help) | man |
-flax-vector-conversions | Allow implicit conversions between vectors with differing numbers of elements and/or incompatible element types. (in the manual page but not in --help) | man |
-fms-extensions | Accept some non-standard constructs used in Microsoft header files. (in the manual page but not in --help) | man |
-fpermitted-flt-eval-methods style | ISO/IEC TS 18661-3 defines new permissible values for "FLT_EVAL_METHOD" that indicate that operations and constants with a semantic type that is an interchange or extended format should be evaluated… (in the manual page but not in --help) | man |
-fdeps-file file | Where to write structured dependency information. (in the manual page but not in --help) | man |
-fdeps-format format | The format to use for structured dependency information. (in the manual page but not in --help) | man |
-fdeps-target file | Analogous to -MT but for structured dependency information. (in the manual page but not in --help) | man |
-fplan9-extensions | Accept some non-standard constructs used in Plan 9 code. (in the manual page but not in --help) | man |
-fsigned-bitfields | (in the manual page but not in --help) | man |
-funsigned-bitfields | (in the manual page but not in --help) | man |
-fno-signed-bitfields | (in the manual page but not in --help) | man |
-fno-unsigned-bitfields | These options control whether a bit-field is signed or unsigned, when the declaration does not use either "signed" or "unsigned". (in the manual page but not in --help) | man |
-fsigned-char | (in the manual page but not in --help) | man |
-funsigned-char | (in the manual page but not in --help) | man |
-fstrict-flex-arrays (C | (in the manual page but not in --help) | man |
-fsso-struct endianness | Set the default scalar storage order of structures and unions to the specified endianness. (in the manual page but not in --help) | man |
--compile-std-module | Build the compiled module interfaces for the <bits/stdc++.h> header unit and the std and std.compat modules before compiling any source files explicitly specified on the command line. (in the manual page but not in --help) | man |
-fabi-version n | Use version n of the C++ ABI. (in the manual page but not in --help) | man |
-fabi-compat-version n | On targets that support strong aliases, G++ works around mangling changes by creating an alias with the correct mangled name when defining a symbol with an incorrect mangled name. (in the manual page but not in --help) | man |
-fno-access-control | Turn off all access checking. (in the manual page but not in --help) | man |
-faligned-new | (in the manual page but not in --help) | man |
-fno-assume-sane-operators-new | The C++ standard allows replacing the global "new", "new[]", "delete" and "delete[]" operators, though a lot of C++ programs don't replace them and just use the implementation provided version. (in the manual page but not in --help) | man |
-fchar8_t | (in the manual page but not in --help) | man |
-fno-char8_t | Enable support for "char8_t" as adopted for C++20. (in the manual page but not in --help) | man |
-fcheck-new | Check that the pointer returned by "operator new" is non-null before attempting to modify the storage allocated. (in the manual page but not in --help) | man |
-fconcepts | Enable support for the C++ Concepts feature for constraining template arguments. (in the manual page but not in --help) | man |
-fconcepts-diagnostics-depth n | Specify maximum error replay depth during recursive diagnosis of a constraint satisfaction failure. (in the manual page but not in --help) | man |
-fconstexpr-depth n | Set the maximum nested evaluation depth for C++11 constexpr functions to n. (in the manual page but not in --help) | man |
-fconstexpr-cache-depth n | Set the maximum level of nested evaluation depth for C++11 constexpr functions that will be cached to n. (in the manual page but not in --help) | man |
-fconstexpr-fp-except | Annex F of the C standard specifies that IEC559 floating point exceptions encountered at compile time should not stop compilation. (in the manual page but not in --help) | man |
-fconstexpr-loop-limit n | Set the maximum number of iterations for a loop in C++14 constexpr functions to n. (in the manual page but not in --help) | man |
-fconstexpr-ops-limit n | Set the maximum number of operations during a single constexpr evaluation. (in the manual page but not in --help) | man |
-fcontracts | Enable support for the C++ Contracts feature, as specified in the C++26 working draft (N5003). (in the manual page but not in --help) | man |
-fcontract-evaluation-semantic semantic | Set the semantic with which contracts will be evaluated to semantic. (in the manual page but not in --help) | man |
-fcontracts-conservative-ipa | This prevents inter-procedural analysis from taking action when the body of an inline function is visible in a given TU. (in the manual page but not in --help) | man |
-fcontract-checks-outlined | By default, contract checks for "pre" and "post" condition checks are expanded in-line into function bodies. (in the manual page but not in --help) | man |
-fcontract-disable-optimized-checks | When "pre" and "post" condition checks are outlined (using -fcontract-checks-outlined), this option disables the optimisation steps for those functions which can avoid unwanted elision of checking… (in the manual page but not in --help) | man |
-fcontracts-client-check mode | This option enables insertion of checks at call sites (caller-side checking). (in the manual page but not in --help) | man |
-fcontracts-definition-check mode | This option introduces the ability to disable callee/definition-side checks, which are otherwise enabled by default when the contracts feature is active. (in the manual page but not in --help) | man |
-fcoroutines | Enable support for the C++ coroutines extension. (in the manual page but not in --help) | man |
-fdiagnostics-all-candidates | Permit the C++ front end to note all candidates during overload resolution failure, including when a deleted function is selected. (in the manual page but not in --help) | man |
-fdump-lang- | (in the manual page but not in --help) | man |
-fdump-lang-switch | (in the manual page but not in --help) | man |
-fdump-lang-switch-options | (in the manual page but not in --help) | man |
-fno-elide-constructors | The C++ standard allows an implementation to omit creating a temporary that is only used to initialize another object of the same type. (in the manual page but not in --help) | man |
-fno-enforce-eh-specs | Don't generate code to check for violation of exception specifications at run time. (in the manual page but not in --help) | man |
-fextern-tls-init | (in the manual page but not in --help) | man |
-fno-extern-tls-init | The C++11 and OpenMP standards allow "thread_local" and "threadprivate" variables to have dynamic (runtime) initialization. (in the manual page but not in --help) | man |
-ffold-simple-inlines | (in the manual page but not in --help) | man |
-fno-fold-simple-inlines | Permit the C++ frontend to fold calls to "std::move", "std::forward", "std::addressof", "std::to_underlying" and "std::as_const". (in the manual page but not in --help) | man |
-fno-gnu-keywords | Do not recognize "typeof" as a keyword, so that code can use this word as an identifier. (in the manual page but not in --help) | man |
-fno-immediate-escalation | Do not enable immediate function escalation whereby certain functions can be promoted to consteval, as specified in P2564R3. (in the manual page but not in --help) | man |
-fimplicit-constexpr | Make inline functions implicitly constexpr, if they satisfy the requirements for a constexpr function. (in the manual page but not in --help) | man |
-fno-implicit-templates | Never emit code for non-inline templates that are instantiated implicitly (i.e. by use); (in the manual page but not in --help) | man |
-fno-implicit-inline-templates | Don't emit code for implicit instantiations of inline templates, either. (in the manual page but not in --help) | man |
-fno-implement-inlines | To save space, do not emit out-of-line copies of inline functions controlled by "#pragma implementation". (in the manual page but not in --help) | man |
-fmodules | (in the manual page but not in --help) | man |
-fno-modules | Enable support for C++20 modules. (in the manual page but not in --help) | man |
-fmodule-header | (in the manual page but not in --help) | man |
-fmodule-implicit-inline | Member functions defined in their class definitions are not implicitly inline for modular code. (in the manual page but not in --help) | man |
-fno-module-lazy | Disable lazy module importing and module mapper creation. (in the manual page but not in --help) | man |
-fmodule-only | Only emit the Compiled Module Interface, inhibiting any object file. (in the manual page but not in --help) | man |
-fnew-inheriting-ctors | Enable the P0136 adjustment to the semantics of C++11 constructor inheritance. (in the manual page but not in --help) | man |
-fnew-ttp-matching | Enable the P0522 resolution to Core issue 150, template template parameters and default arguments: this allows a template with default template arguments as an argument for a template template… (in the manual page but not in --help) | man |
-fno-nonansi-builtins | Disable built-in declarations of functions that are not mandated by ANSI/ISO C. (in the manual page but not in --help) | man |
-fnothrow-opt | Treat a throw() exception specification as if it were a "noexcept" specification to reduce or eliminate the text size overhead relative to a function with no exception specification. (in the manual page but not in --help) | man |
-fno-operator-names | Do not treat the operator name keywords "and", "bitand", "bitor", "compl", "not", "or" and "xor" as synonyms as keywords. (in the manual page but not in --help) | man |
-fno-optional-diags | Disable diagnostics that the standard says a compiler does not need to issue. (in the manual page but not in --help) | man |
-fno-pretty-templates | When an error message refers to a specialization of a function template, the compiler normally prints the signature of the template followed by the template arguments and any typedefs or typenames in… (in the manual page but not in --help) | man |
-frange-for-ext-temps | Enable lifetime extension of C++ range based for temporaries. (in the manual page but not in --help) | man |
-freflection | Enable experimental C++26 Reflection. (in the manual page but not in --help) | man |
-fno-rtti | Disable generation of information about every class with virtual functions for use by the C++ run-time type identification features ("dynamic_cast" and "typeid"). (in the manual page but not in --help) | man |
-fsized-deallocation | Enable the built-in global declarations (in the manual page but not in --help) | man |
-fstrict-enums | Allow the compiler to optimize using the assumption that a value of enumerated type can only be one of the values of the enumeration (as defined in the C++ standard; (in the manual page but not in --help) | man |
-fstrong-eval-order | (in the manual page but not in --help) | man |
-ftemplate-backtrace-limit n | Set the maximum number of template instantiation notes for a single warning or error to n. (in the manual page but not in --help) | man |
-ftemplate-depth n | Set the maximum instantiation depth for template classes to n. (in the manual page but not in --help) | man |
-fno-threadsafe-statics | Do not emit the extra code to use the routines specified in the C++ ABI for thread-safe initialization of local statics. (in the manual page but not in --help) | man |
-fuse-cxa-atexit | Register destructors for objects with static storage duration with the "__cxa_atexit" function rather than the "atexit" function. (in the manual page but not in --help) | man |
-fno-use-cxa-get-exception-ptr | Don't use the "__cxa_get_exception_ptr" runtime routine. (in the manual page but not in --help) | man |
-fvisibility-inlines-hidden | This switch declares that the user does not attempt to compare pointers to inline functions or methods where the addresses of the two functions are taken in different shared objects. (in the manual page but not in --help) | man |
-fvisibility-ms-compat | This flag attempts to use visibility settings to make GCC's C++ linkage model compatible with that of Microsoft Visual Studio. (in the manual page but not in --help) | man |
-fno-weak | Do not use weak symbol support, even if it is provided by the linker. (in the manual page but not in --help) | man |
-fext-numeric-literals (C++ | Accept imaginary, fixed-point, or machine-defined literal number suffixes as GNU extensions. (in the manual page but not in --help) | man |
-nostdinc++ | Do not search for header files in the standard directories specific to C++, but do still search the other standard directories. (in the manual page but not in --help) | man |
-flang-info-include-translate | (in the manual page but not in --help) | man |
-flang-info-include-translate-not | (in the manual page but not in --help) | man |
-flang-info-module-cmi | (in the manual page but not in --help) | man |
-stdlib libstdc++ | When G++ is configured to support this option, it allows specification of alternate C++ runtime libraries. (in the manual page but not in --help) | man |
-Wabi-tag (C++ | Warn when a type with an ABI tag is used in a context that does not have that ABI tag. (in the manual page but not in --help) | man |
-Wno-abbreviated-auto-in-template-arg | Disable the error for an "auto" placeholder type used within a template argument list to declare a C++20 abbreviated function template, e.g. (in the manual page but not in --help) | man |
-Wcomma-subscript (C++ | Warn about uses of a comma expression within a subscripting expression. (in the manual page but not in --help) | man |
-Wctad-maybe-unsupported (C++ | Warn when performing class template argument deduction (CTAD) on a type with no explicitly written deduction guides. (in the manual page but not in --help) | man |
-Wctor-dtor-privacy (C++ | Warn when a class seems unusable because all the constructors or destructors in that class are private, and it has neither friends nor public static member functions. (in the manual page but not in --help) | man |
-Wdangling-reference (C++ | Warn when a reference is bound to a temporary whose lifetime has ended. (in the manual page but not in --help) | man |
-Wdelete-non-virtual-dtor (C++ | Warn when "delete" is used to destroy an instance of a class that has virtual functions and non-virtual destructor. (in the manual page but not in --help) | man |
-Wdeprecated-copy (C++ | Warn that the implicit declaration of a copy constructor or copy assignment operator is deprecated if the class has a user-provided copy constructor or copy assignment operator, in C++11 and up. (in the manual page but not in --help) | man |
-Wdeprecated-copy-dtor (C++ | Similar to -Wdeprecated-copy, but also deprecate if the class has a user-provided destructor. (in the manual page but not in --help) | man |
-Wno-deprecated-enum-enum-conversion (C++ | Disable the warning about the case when the usual arithmetic conversions are applied on operands where one is of enumeration type and the other is of a different enumeration type. (in the manual page but not in --help) | man |
-Wno-deprecated-enum-float-conversion (C++ | Disable the warning about the case when the usual arithmetic conversions are applied on operands where one is of enumeration type and the other is of a floating-point type. (in the manual page but not in --help) | man |
-Wdeprecated-literal-operator (C++ | Warn that the declaration of a user-defined literal operator with a space before the suffix is deprecated. (in the manual page but not in --help) | man |
-Wdeprecated-variadic-comma-omission (C++ | Warn that omitting a comma before the varargs "..." at the end of a function parameter list is deprecated. (in the manual page but not in --help) | man |
-Wno-elaborated-enum-base | For C++11 and above, warn if an (invalid) additional enum-base is used in an elaborated-type-specifier. (in the manual page but not in --help) | man |
-Wno-init-list-lifetime (C++ | Do not warn about uses of "std::initializer_list" that are likely to result in dangling pointers. (in the manual page but not in --help) | man |
-Winvalid-constexpr | Warn when a function never produces a constant expression. (in the manual page but not in --help) | man |
-Winvalid-imported-macros | Verify all imported macro definitions are valid at the end of compilation. (in the manual page but not in --help) | man |
-Wno-literal-suffix (C++ | Do not warn when a string or character literal is followed by a ud-suffix which does not begin with an underscore. (in the manual page but not in --help) | man |
-Wno-narrowing (C++ | For C++11 and later standards, narrowing conversions are diagnosed by default, as required by the standard. (in the manual page but not in --help) | man |
-Wnoexcept (C++ | Warn when a noexcept-expression evaluates to false because of a call to a function that does not have a non-throwing exception specification (i.e. throw() or "noexcept") but is known by the compiler… (in the manual page but not in --help) | man |
-Wnoexcept-type (C++ | Warn if the C++17 feature making "noexcept" part of a function type changes the mangled name of a symbol relative to C++14. (in the manual page but not in --help) | man |
-Wclass-memaccess (C++ | Warn when the destination of a call to a raw memory function such as "memset" or "memcpy" is an object of class type, and when writing into such an object might bypass the class non-trivial or… (in the manual page but not in --help) | man |
-Wnon-virtual-dtor (C++ | Warn when a class has virtual functions and an accessible non-virtual destructor itself or in an accessible polymorphic base class, in which case it is possible but unsafe to delete an instance of a… (in the manual page but not in --help) | man |
-Wregister (C++ | Warn on uses of the "register" storage class specifier, except when it is part of the GNU Explicit Register Variables extension. (in the manual page but not in --help) | man |
-Wreorder (C++ | Warn when the order of member initializers given in the code does not match the order in which they must be executed. (in the manual page but not in --help) | man |
-Wno-pessimizing-move (C++ | This warning warns when a call to "std::move" prevents copy elision. (in the manual page but not in --help) | man |
-Wno-redundant-move (C++ | This warning warns about redundant calls to "std::move"; (in the manual page but not in --help) | man |
-Wrange-loop-construct (C++ | This warning warns when a C++ range-based for-loop is creating an unnecessary copy. (in the manual page but not in --help) | man |
-Wredundant-tags (C++ | Warn about redundant class-key and enum-key in references to class types and enumerated types in contexts where the key can be eliminated without causing an ambiguity. (in the manual page but not in --help) | man |
-Wno-subobject-linkage (C++ | Do not warn if a class type has a base or a field whose type uses the anonymous namespace or depends on a type with no linkage. (in the manual page but not in --help) | man |
-Weffc++ (C++ | Warn about violations of the following style guidelines from Scott Meyers' Effective C++ series of books: (in the manual page but not in --help) | man |
-Wno-exceptions (C++ | Disable the warning about the case when an exception handler is shadowed by another handler, which can point out a wrong ordering of exception handlers. (in the manual page but not in --help) | man |
-Wsfinae-incomplete (C++ | Warn about a class that is found to be incomplete, or a function with auto return type that has not yet been deduced, in a context where that causes substitution failure rather than an error, and… (in the manual page but not in --help) | man |
-Wstrict-null-sentinel (C++ | Warn about the use of an uncasted "NULL" as sentinel. (in the manual page but not in --help) | man |
-Wno-non-c-typedef-for-linkage (C++ | Disable pedwarn for unnamed classes with a typedef name for linkage purposes containing C++ specific members, base classes, default member initializers or lambda expressions, including those on… (in the manual page but not in --help) | man |
-Wno-non-template-friend (C++ | Disable warnings when non-template friend functions are declared within a template. (in the manual page but not in --help) | man |
-Wold-style-cast (C++ | Warn if an old-style (C-style) cast to a non-void type is used within a C++ program. (in the manual page but not in --help) | man |
-Woverloaded-virtual (C++ | (in the manual page but not in --help) | man |
-Wno-pmf-conversions (C++ | Disable the diagnostic for converting a bound pointer to member function to a plain pointer. (in the manual page but not in --help) | man |
-Wsign-promo (C++ | Warn when overload resolution chooses a promotion from unsigned or enumerated type to a signed type, over a conversion to an unsigned type of the same size. (in the manual page but not in --help) | man |
-Wtemplates (C++ | Warn when a primary template declaration is encountered. (in the manual page but not in --help) | man |
-Wmismatched-new-delete (C++ | Warn for mismatches between calls to "operator new" or "operator delete" and the corresponding call to the allocation or deallocation function. (in the manual page but not in --help) | man |
-Wmismatched-tags (C++ | Warn for declarations of structs, classes, and class templates and their specializations with a class-key that does not match either the definition or the first declaration if no definition is… (in the manual page but not in --help) | man |
-Wmultiple-inheritance (C++ | Warn when a class is defined with multiple direct base classes. (in the manual page but not in --help) | man |
-Wvirtual-inheritance | Warn when a class is defined with a virtual direct base class. (in the manual page but not in --help) | man |
-Wno-virtual-move-assign | Suppress warnings about inheriting from a virtual base with a non-trivial C++11 move assignment operator. (in the manual page but not in --help) | man |
-Wnamespaces | Warn when a namespace definition is opened. (in the manual page but not in --help) | man |
-Wno-template-body (C++ | Disable diagnosing errors when parsing a template, and instead issue an error only upon instantiation of the template. (in the manual page but not in --help) | man |
-Wno-template-id-cdtor (C++ | Disable the warning about the use of simple-template-id as the declarator-id of a constructor or destructor, which became invalid in C++20 via DR 2237. (in the manual page but not in --help) | man |
-Wtemplate-id-cdtor is | (in the manual page but not in --help) | man |
-Wtemplate-names-tu-local | Warn when a template body hides an exposure of a translation-unit-local entity. (in the manual page but not in --help) | man |
-Wno-expose-global-module-tu-local | An exposure of a translation-unit-local entity from a module interface is invalid, as this may cause ODR violations and manifest in link errors or other unexpected behaviour. (in the manual page but not in --help) | man |
-Wno-external-tu-local | Warn when naming a TU-local entity outside of the translation unit it was declared in. (in the manual page but not in --help) | man |
-Wno-terminate (C++ | Disable the warning about a throw-expression that will immediately result in a call to "terminate". (in the manual page but not in --help) | man |
-Wno-vexing-parse (C++ | Warn about the most vexing parse syntactic ambiguity. (in the manual page but not in --help) | man |
-Wno-class-conversion (C++ | Do not warn when a conversion function converts an object to the same type, to a base class of that type, or to void; (in the manual page but not in --help) | man |
-Wvolatile (C++ | Warn about deprecated uses of the "volatile" qualifier. (in the manual page but not in --help) | man |
-Waligned-new | [-Waligned-new=[none|global|all]](#Waligned~2) (in the manual page but not in --help) | man |
-Wno-placement-new | (in the manual page but not in --help) | man |
-Wplacement-new n | Warn about placement new expressions with undefined behavior, such as constructing an object in a buffer that is smaller than the type of the object. (in the manual page but not in --help) | man |
-Wcatch-value | (in the manual page but not in --help) | man |
-Wconditionally-supported (C++ | Warn for conditionally-supported (C++11 [intro.defs]) constructs. (in the manual page but not in --help) | man |
-Wno-defaulted-function-deleted (C++ | Warn when an explicitly defaulted function is deleted by the compiler. (in the manual page but not in --help) | man |
-Wno-delete-incomplete (C++ | Do not warn when deleting a pointer to incomplete type, which may cause undefined behavior at runtime. (in the manual page but not in --help) | man |
-Wextra-semi (C++ | Warn about redundant semicolons. (in the manual page but not in --help) | man |
-Wno-global-module (C++ | Disable the diagnostic for when the global module fragment of a module unit does not consist only of preprocessor directives. (in the manual page but not in --help) | man |
-Wno-inaccessible-base (C++ | This option controls warnings when a base class is inaccessible in a class derived from it due to ambiguity. (in the manual page but not in --help) | man |
-Wno-inherited-variadic-ctor | Suppress warnings about use of C++11 inheriting constructors when the base class inherited from has a C variadic constructor; (in the manual page but not in --help) | man |
-Wno-invalid-offsetof (C++ | Suppress warnings from applying the "offsetof" macro to a non-POD type. (in the manual page but not in --help) | man |
-Wsized-deallocation (C++ | Warn about a definition of an unsized deallocation function (in the manual page but not in --help) | man |
-Wsuggest-final-types | Warn about types with virtual methods where code quality would be improved if the type were declared with the C++11 "final" specifier, or, if possible, declared in an anonymous namespace. (in the manual page but not in --help) | man |
-Wsuggest-final-methods | Warn about virtual methods where code quality would be improved if the method were declared with the C++11 "final" specifier, or, if possible, its type were declared in an anonymous namespace or with… (in the manual page but not in --help) | man |
-Wsuggest-override | Warn about overriding virtual functions that are not marked with the "override" keyword. (in the manual page but not in --help) | man |
-Wno-conversion-null (C++ | Do not warn for conversions between "NULL" and non-pointer types. (in the manual page but not in --help) | man |
-fconstant-string-class class-name | Use class-name as the name of the class to instantiate for each literal string specified with the syntax "@"..."". (in the manual page but not in --help) | man |
-fgnu-runtime | Generate object code compatible with the standard GNU Objective-C runtime. (in the manual page but not in --help) | man |
-fnext-runtime | Generate output compatible with the NeXT runtime. (in the manual page but not in --help) | man |
-fno-nil-receivers | Assume that all Objective-C message dispatches ("[receiver message:arg]") in this translation unit ensure that the receiver is not "nil". (in the manual page but not in --help) | man |
-fobjc-abi-version n | Use version n of the Objective-C ABI for the selected runtime. (in the manual page but not in --help) | man |
-fobjc-call-cxx-cdtors | For each Objective-C class, check if any of its instance variables is a C++ object with a non-trivial default constructor. (in the manual page but not in --help) | man |
-fobjc-direct-dispatch | Allow fast jumps to the message dispatcher. (in the manual page but not in --help) | man |
-fobjc-exceptions | Enable syntactic support for structured exception handling in Objective-C, similar to what is offered by C++. (in the manual page but not in --help) | man |
-fobjc-gc | Enable garbage collection (GC) in Objective-C and Objective-C++ programs. (in the manual page but not in --help) | man |
-fobjc-nilcheck | For the NeXT runtime with version 2 of the ABI, check for a nil receiver in method invocations before doing the actual method call. (in the manual page but not in --help) | man |
-fobjc-std objc1 | Conform to the language syntax of Objective-C 1.0, the language recognized by GCC 4.0. (in the manual page but not in --help) | man |
-freplace-objc-classes | Emit a special marker instructing ld(1) not to statically link in the resulting object file, and allow dyld(1) to load it in at run time instead. (in the manual page but not in --help) | man |
-fzero-link | When compiling for the NeXT runtime, the compiler ordinarily replaces calls to objc_getClass("...") (when the name of the class is known at compile time) with static class references that get… (in the manual page but not in --help) | man |
-fno-local-ivars | By default instance variables in Objective-C can be accessed as if they were local variables from within the methods of the class they're declared in. (in the manual page but not in --help) | man |
-gen-decls | Dump interface declarations for all classes seen in the source file to a file named sourcename.decl. (in the manual page but not in --help) | man |
-Wassign-intercept (Objective-C | Warn whenever an Objective-C assignment is being intercepted by the garbage collector. (in the manual page but not in --help) | man |
-Wno-property-assign-default (Objective-C | Do not warn if a property for an Objective-C object has no assign semantics specified. (in the manual page but not in --help) | man |
-Wno-protocol (Objective-C | If a class is declared to implement a protocol, a warning is issued for every method in the protocol that is not implemented by the class. (in the manual page but not in --help) | man |
-Wobjc-root-class (Objective-C | Warn if a class interface lacks a superclass. (in the manual page but not in --help) | man |
-Wselector (Objective-C | Warn if multiple methods of different types for the same selector are found during compilation. (in the manual page but not in --help) | man |
-Wstrict-selector-match (Objective-C | Warn if multiple methods with differing argument and/or return types are found for a given selector when attempting to send a message using this selector to a receiver of type "id" or "Class". (in the manual page but not in --help) | man |
-Wundeclared-selector (Objective-C | Warn if a @selector(...) expression referring to an undeclared selector is found. (in the manual page but not in --help) | man |
-print-objc-runtime-info | Generate C header describing the largest structure that is passed by value, if any. (in the manual page but not in --help) | man |
-foffload-options options | (in the manual page but not in --help) | man |
-fopenacc | Enable handling of OpenACC directives #pragma acc in C/C++ and !$acc in free-form Fortran and !$acc, c$acc and $acc in fixed-form Fortran. (in the manual page but not in --help) | man |
-fopenacc-dim geom | Specify default compute dimensions for parallel offload regions that do not explicitly specify them. (in the manual page but not in --help) | man |
-fopenmp | Enable handling of OpenMP directives #pragma omp, [[omp::decl(...)]], [[omp::directive(...)]], and [[omp::sequence(...)]] in C/C++. (in the manual page but not in --help) | man |
-fopenmp-simd | Enable handling of OpenMP's "simd", "declare simd", "declare reduction", "assume", "ordered", "scan" and "loop" directive, and of combined or composite directives with "simd" as constituent with… (in the manual page but not in --help) | man |
-fopenmp-target-simd-clone | (in the manual page but not in --help) | man |
-fmessage-length n | Try to format error messages so that they fit on lines of about n characters. (in the manual page but not in --help) | man |
-fdiagnostics-plain-output | This option requests that diagnostic output look as plain as possible, which may be useful when running dejagnu or other utilities that need to parse diagnostics output and prefer that it remain more… (in the manual page but not in --help) | man |
-fdiagnostics-show-location once | Only meaningful in line-wrapping mode. (in the manual page but not in --help) | man |
-fno-diagnostics-color | Use color in diagnostics. (in the manual page but not in --help) | man |
-fno-diagnostics-show-option | By default, each diagnostic emitted includes text indicating the command-line option that directly controls the diagnostic (if such an option is known to the diagnostic machinery). (in the manual page but not in --help) | man |
-fno-diagnostics-show-caret | By default, each diagnostic emitted includes the original source line and a caret ^ indicating the column. (in the manual page but not in --help) | man |
-fno-diagnostics-show-labels | By default, when printing source code (via -fdiagnostics-show-caret), diagnostics can label ranges of source code with pertinent information, such as the types of expressions: (in the manual page but not in --help) | man |
-fno-diagnostics-show-event-links | By default, when printing execution paths (via -fdiagnostics-path-format=inline-events), GCC will print lines connecting related events, such as the line connecting events 1 and 2 in: (in the manual page but not in --help) | man |
-fno-diagnostics-show-cwe | Diagnostic messages can optionally have an associated CWE ("https://cwe.mitre.org/index.html") identifier. (in the manual page but not in --help) | man |
-fno-diagnostics-show-rules | Diagnostic messages can optionally have rules associated with them, such as from a coding standard, or a specification. (in the manual page but not in --help) | man |
-fno-diagnostics-show-highlight-colors | GCC can use color for emphasis and contrast when printing diagnostic messages and quoting the user's source. (in the manual page but not in --help) | man |
-fno-diagnostics-show-line-numbers | By default, when printing source code (via -fdiagnostics-show-caret), a left margin is printed, showing line numbers. (in the manual page but not in --help) | man |
-fdiagnostics-minimum-margin-width width | This option controls the minimum width of the left margin printed by -fdiagnostics-show-line-numbers. (in the manual page but not in --help) | man |
-fno-diagnostics-show-context | With this option, the compiler might print the interesting control flow chain that guards the basic block of the statement which has the warning. (in the manual page but not in --help) | man |
-fdiagnostics-parseable-fixits | Emit fix-it hints in a machine-parseable format, suitable for consumption by IDEs. (in the manual page but not in --help) | man |
-fdiagnostics-generate-patch | Print fix-it hints to stderr in unified diff format, after any diagnostics are printed. (in the manual page but not in --help) | man |
-fdiagnostics-show-template-tree | In the C++ frontend, when printing diagnostics showing mismatching template types, such as: (in the manual page but not in --help) | man |
-fno-elide-type | By default when the C++ frontend prints diagnostics showing mismatching template types, common parts of the types are printed as "[...]" to simplify the error message. (in the manual page but not in --help) | man |
-fdiagnostics-path-format KIND | Specify how to print paths of control-flow events for diagnostics that have such a path associated with them. (in the manual page but not in --help) | man |
-fdiagnostics-show-path-depths | This option provides additional information when printing control-flow paths associated with a diagnostic. (in the manual page but not in --help) | man |
-fno-show-column | Do not print column numbers in diagnostics. (in the manual page but not in --help) | man |
-fdiagnostics-column-unit UNIT | Select the units for the column number. (in the manual page but not in --help) | man |
-fdiagnostics-column-origin ORIGIN | Select the origin for column numbers, i.e. the column number assigned to the first column. (in the manual page but not in --help) | man |
-fdiagnostics-escape-format FORMAT | When GCC prints pertinent source lines for a diagnostic it normally attempts to print the source bytes directly. (in the manual page but not in --help) | man |
-fdiagnostics-text-art-charset CHARSET | Some diagnostics can contain "text art" diagrams: visualizations created from text, intended to be viewed in a monospaced font. (in the manual page but not in --help) | man |
-fno-diagnostics-show-nesting | Some GCC diagnostics have an internal tree-like structure of nested sub-diagnostics, such as for problems when instantiating C++ templates. (in the manual page but not in --help) | man |
-fno-diagnostics-show-nesting-locations | When fdiagnostics-show-nesting is enabled, file names and line- and column- numbers are displayed on separate lines from the messages. (in the manual page but not in --help) | man |
-fdiagnostics-show-nesting-levels | When fdiagnostics-show-nesting is enabled, use fdiagnostics-show-nesting-levels to also display numbers showing the depth of the nesting. (in the manual page but not in --help) | man |
-fdiagnostics-format FORMAT | Select a different format for printing diagnostics. (in the manual page but not in --help) | man |
-fdiagnostics-add-output DIAGNOSTICS-OUTPUT-SPEC | Add an additional "output sink" for emitting diagnostics. (in the manual page but not in --help) | man |
-fdiagnostics-set-output DIAGNOSTICS-OUTPUT-SPEC | This works in a similar way to -fdiagnostics-add-output= except that instead of adding an additional "output sink" for diagnostics, it replaces all existing output sinks, such as from… (in the manual page but not in --help) | man |
-fno-diagnostics-json-formatting | By default, when JSON is emitted for diagnostics (via -fdiagnostics-format=sarif-stderr or -fdiagnostics-format=sarif-file), GCC will add newlines and indentation to visually emphasize the… (in the manual page but not in --help) | man |
-fsyntax-only | Check the code for syntax errors, but don't do anything beyond that. (in the manual page but not in --help) | man |
-fmax-errors n | Limits the maximum number of error messages to n, at which point GCC bails out rather than attempting to continue processing the source code. (in the manual page but not in --help) | man |
-w | (in the manual page but not in --help) | man |
--no-warnings | Inhibit all warning messages. (in the manual page but not in --help) | man |
-Werror | Turn all warnings into errors. (in the manual page but not in --help) | man |
-Wfatal-errors | This option causes the compiler to abort compilation on the first error occurred rather than trying to keep going and printing further error messages. (in the manual page but not in --help) | man |
-Wpedantic | (in the manual page but not in --help) | man |
-pedantic | (in the manual page but not in --help) | man |
--pedantic | Issue all the warnings demanded by strict ISO C and ISO C++; (in the manual page but not in --help) | man |
-pedantic-errors | (in the manual page but not in --help) | man |
--pedantic-errors | Give an error whenever the base standard (see -Wpedantic) requires a diagnostic, in some cases where there is undefined behavior at compile-time and in some other cases that do not prevent… (in the manual page but not in --help) | man |
-fpermissive | Downgrade some required diagnostics about nonconformant code from errors to warnings. (in the manual page but not in --help) | man |
-Wall | (in the manual page but not in --help) | man |
--all-warnings | This enables all the warnings about constructions that some users consider questionable, and that are easy to avoid (or modify to prevent the warning), even in conjunction with macros. (in the manual page but not in --help) | man |
-Wextra | (in the manual page but not in --help) | man |
--extra-warnings | This enables some extra warning flags that are not enabled by -Wall. (in the manual page but not in --help) | man |
-Wabi (C | Warn about code affected by ABI changes. (in the manual page but not in --help) | man |
-Wpsabi (C | (in the manual page but not in --help) | man |
-Wno-changes-meaning (C++ | C++ requires that unqualified uses of a name within a class have the same meaning in the complete scope of the class, so declaring the name after using it is ill-formed: (in the manual page but not in --help) | man |
-Wchar-subscripts | Warn if an array subscript has type "char". (in the manual page but not in --help) | man |
-Wno-coverage-mismatch | Warn if feedback profiles do not match when using the -fprofile-use option. (in the manual page but not in --help) | man |
-Wno-coverage-too-many-conditions | Warn if -fcondition-coverage is used and an expression have too many terms and GCC gives up coverage. (in the manual page but not in --help) | man |
-Wno-coverage-too-many-paths | Warn if -fpath-coverage is used and a function has too many paths and GCC gives up coverage. (in the manual page but not in --help) | man |
-Wno-coverage-invalid-line-number | Warn in case a function ends earlier than it begins due to an invalid linenum macros. (in the manual page but not in --help) | man |
-Wno-cpp (C | Suppress warning messages emitted by "#warning" directives. (in the manual page but not in --help) | man |
-Wdouble-promotion (C | Give a warning when a value of type "float" is implicitly promoted to "double". (in the manual page but not in --help) | man |
-Wduplicate-decl-specifier (C | Warn if a declaration has duplicate "const", "volatile", "restrict" or "_Atomic" specifier. (in the manual page but not in --help) | man |
-Wformat | (in the manual page but not in --help) | man |
-Wno-format-contains-nul | If -Wformat is specified, do not warn about format strings that contain NUL bytes. (in the manual page but not in --help) | man |
-Wno-format-diag | If -Wformat is specified, do not warn about format strings that are unsuitable for GCC diagnostics. (in the manual page but not in --help) | man |
-Wno-format-extra-args | If -Wformat is specified, do not warn about excess arguments to a "printf" or "scanf" format function. (in the manual page but not in --help) | man |
-Wformat-overflow | (in the manual page but not in --help) | man |
-Wno-format-zero-length | If -Wformat is specified, do not warn about zero-length formats. (in the manual page but not in --help) | man |
-Wformat-nonliteral | If -Wformat is specified, also warn if the format string is not a string literal and so cannot be checked, unless the format function takes its format arguments as a "va_list". (in the manual page but not in --help) | man |
-Wformat-security | If -Wformat is specified, also warn about uses of format functions that represent possible security problems. (in the manual page but not in --help) | man |
-Wformat-signedness | If -Wformat is specified, also warn if the format string requires an unsigned argument and the argument is signed and vice versa. (in the manual page but not in --help) | man |
-Wformat-truncation | (in the manual page but not in --help) | man |
-Wformat-y2k | If -Wformat is specified, also warn about "strftime" formats that may yield only a two-digit year. (in the manual page but not in --help) | man |
-Wnonnull | Warn about passing a null pointer for arguments marked as requiring a non-null value by the "nonnull" function attribute. (in the manual page but not in --help) | man |
-Wnonnull-compare | Warn when comparing an argument marked with the "nonnull" function attribute against null inside the function. (in the manual page but not in --help) | man |
-Wnull-dereference | Warn if the compiler detects paths that trigger erroneous or undefined behavior due to dereferencing a null pointer. (in the manual page but not in --help) | man |
-Wno-musttail-local-addr | Do not warn about passing a pointer (or in C++, a reference) to a local variable or label to argument of a "musttail" call. (in the manual page but not in --help) | man |
-Wmaybe-musttail-local-addr | Warn when address of a local variable can escape to a "musttail" call, unless it goes out of scope already before the "musttail" call. (in the manual page but not in --help) | man |
-Wnrvo (C++ | Warn if the compiler does not elide the copy from a local variable to the return value of a function in a context where it is allowed by [class.copy.elision]. (in the manual page but not in --help) | man |
-Winfinite-recursion | Warn about infinitely recursive calls. (in the manual page but not in --help) | man |
-Winit-self (C | Warn about uninitialized variables that are initialized with themselves. (in the manual page but not in --help) | man |
-Wno-implicit-int (C | This option controls warnings when a declaration does not specify a type. (in the manual page but not in --help) | man |
-Wno-implicit-function-declaration (C | This option controls warnings when a function is used before being declared. (in the manual page but not in --help) | man |
-Wimplicit (C | Same as -Wimplicit-int and -Wimplicit-function-declaration. (in the manual page but not in --help) | man |
-Whardened | Warn when -fhardened did not enable an option from its set (for which see -fhardened). (in the manual page but not in --help) | man |
-Wimplicit-fallthrough | (in the manual page but not in --help) | man |
-Wno-if-not-aligned (C | Control if warnings triggered by the "warn_if_not_aligned" attribute should be issued. (in the manual page but not in --help) | man |
-Wignored-qualifiers (C | Warn if the return type of a function has a type qualifier such as "const". (in the manual page but not in --help) | man |
-Wno-ignored-attributes (C | This option controls warnings when an attribute is ignored. (in the manual page but not in --help) | man |
-Wmain | Warn if the type of "main" is suspicious. (in the manual page but not in --help) | man |
-Wmisleading-indentation (C | Warn when the indentation of the code does not reflect the block structure. (in the manual page but not in --help) | man |
-Wmissing-attributes | Warn when a declaration of a function is missing one or more attributes that a related function is declared with and whose absence may adversely affect the correctness or efficiency of generated code. (in the manual page but not in --help) | man |
-Wmissing-braces | Warn if an aggregate or union initializer is not fully bracketed. (in the manual page but not in --help) | man |
-Wmissing-include-dirs (C | Warn if a user-supplied include directory does not exist. (in the manual page but not in --help) | man |
-Wno-missing-profile | This option controls warnings if feedback profiles are missing when using the -fprofile-use option. (in the manual page but not in --help) | man |
-Wmismatched-dealloc | Warn for calls to deallocation functions with pointer arguments returned from allocation functions for which the former isn't a suitable deallocator. (in the manual page but not in --help) | man |
-Wmultistatement-macros | Warn about unsafe multiple statement macros that appear to be guarded by a clause such as "if", "else", "for", "switch", or "while", in which only the first statement is actually guarded after the… (in the manual page but not in --help) | man |
-Wparentheses | Warn if parentheses are omitted in certain contexts, such as when there is an assignment in a context where a truth value is expected, or when operators are nested whose precedence people often get… (in the manual page but not in --help) | man |
-Wno-self-move (C++ | This warning warns when a value is moved to itself with "std::move". (in the manual page but not in --help) | man |
-Wsequence-point | Warn about code that may have undefined semantics because of violations of sequence point rules in the C and C++ standards. (in the manual page but not in --help) | man |
-Wno-return-local-addr | Do not warn about returning a pointer (or in C++, a reference) to a variable that goes out of scope after the function returns. (in the manual page but not in --help) | man |
-Wreturn-mismatch | Warn about return statements without an expressions in functions which do not return "void". (in the manual page but not in --help) | man |
-Wreturn-type | Warn whenever a function is defined with a return type that defaults to "int" (unless -Wimplicit-int is active, which takes precedence). (in the manual page but not in --help) | man |
-Wno-shift-count-negative | Controls warnings if a shift count is negative. (in the manual page but not in --help) | man |
-Wno-shift-count-overflow | Controls warnings if a shift count is greater than or equal to the bit width of the type. (in the manual page but not in --help) | man |
-Wshift-negative-value | Warn if left shifting a negative value. (in the manual page but not in --help) | man |
-Wno-shift-overflow | (in the manual page but not in --help) | man |
-Wshift-overflow n | These options control warnings about left shift overflows. (in the manual page but not in --help) | man |
-Wswitch | Warn whenever a "switch" statement has an index of enumerated type and lacks a "case" for one or more of the named codes of that enumeration. (in the manual page but not in --help) | man |
-Wswitch-default | Warn whenever a "switch" statement does not have a "default" case. (in the manual page but not in --help) | man |
-Wswitch-enum | Warn whenever a "switch" statement has an index of enumerated type and lacks a "case" for one or more of the named codes of that enumeration. (in the manual page but not in --help) | man |
-Wno-switch-bool | Do not warn when a "switch" statement has an index of boolean type and the case values are outside the range of a boolean type. (in the manual page but not in --help) | man |
-Wno-switch-outside-range | This option controls warnings when a "switch" case has a value that is outside of its respective type range. (in the manual page but not in --help) | man |
-Wno-switch-unreachable | Do not warn when a "switch" statement contains statements between the controlling expression and the first case label, which will never be executed. (in the manual page but not in --help) | man |
-Wswitch-unreachable does | (in the manual page but not in --help) | man |
-Wsync-nand (C | Warn when "__sync_fetch_and_nand" and "__sync_nand_and_fetch" built-in functions are used. (in the manual page but not in --help) | man |
-Wtrivial-auto-var-init | Warn when "-ftrivial-auto-var-init" cannot initialize the automatic variable. (in the manual page but not in --help) | man |
-Wunused-but-set-parameter | (in the manual page but not in --help) | man |
-Wunused-but-set-variable | (in the manual page but not in --help) | man |
-Wunused-function | Warn whenever a static function is declared but not defined or a non-inline static function is unused. (in the manual page but not in --help) | man |
-Wunused-label | Warn whenever a label is declared but not used. (in the manual page but not in --help) | man |
-Wunused-local-typedefs (C | Warn when a typedef locally defined in a function is not used. (in the manual page but not in --help) | man |
-Wunused-parameter | Warn whenever a function parameter is unused aside from its declaration. (in the manual page but not in --help) | man |
-Wno-unused-result | Do not warn if a caller of a function marked with attribute "warn_unused_result" does not use its return value. (in the manual page but not in --help) | man |
-Wunused-variable | Warn whenever a local or static variable is unused aside from its declaration. (in the manual page but not in --help) | man |
-Wunused-const-variable | (in the manual page but not in --help) | man |
-Wunused-value | Warn whenever a statement computes a result that is explicitly not used. (in the manual page but not in --help) | man |
-Wunused | All the above -Wunused options combined, except those documented as needing to be specified explicitly. (in the manual page but not in --help) | man |
-Wuse-after-free (C | (in the manual page but not in --help) | man |
-Wuseless-cast (C | Warn when an expression is cast to its own type. (in the manual page but not in --help) | man |
-Wuninitialized | Warn if an object with automatic or allocated storage duration is used without having been initialized. (in the manual page but not in --help) | man |
-Wno-invalid-memory-model | This option controls warnings for invocations of __atomic Builtins, __sync Builtins, and the C11 atomic generic functions with a memory consistency argument that is either invalid for the operation… (in the manual page but not in --help) | man |
-Winvalid-memory-model is | (in the manual page but not in --help) | man |
-Wmaybe-uninitialized | For an object with automatic or allocated storage duration, if there exists a path from the function entry to a use of the object that is initialized, but there exist some other paths for which the… (in the manual page but not in --help) | man |
-Wunknown-pragmas | Warn when a "#pragma" directive is encountered that is not understood by GCC. (in the manual page but not in --help) | man |
-Wno-pragmas | Do not warn about misuses of pragmas, such as incorrect parameters, invalid syntax, or conflicts between pragmas. (in the manual page but not in --help) | man |
-Wno-pragma-once-outside-header | Do not warn when "#pragma once" is used in a file that is not a header file, such as a main file. (in the manual page but not in --help) | man |
-Wno-prio-ctor-dtor | Do not warn if a priority from 0 to 100 is used for constructor or destructor. (in the manual page but not in --help) | man |
-Wstrict-aliasing | This option is only active when -fstrict-aliasing is active. (in the manual page but not in --help) | man |
-Wstrict-overflow | (in the manual page but not in --help) | man |
-Wstring-compare | Warn for calls to "strcmp" and "strncmp" whose result is determined to be either zero or non-zero in tests for such equality owing to the length of one argument being greater than the size of the… (in the manual page but not in --help) | man |
-Wno-stringop-overflow | (in the manual page but not in --help) | man |
-Wstringop-overflow | (in the manual page but not in --help) | man |
-Wno-stringop-overread | Warn for calls to string manipulation functions such as "memchr", or "strcpy" that are determined to read past the end of the source sequence. (in the manual page but not in --help) | man |
-Wno-stringop-truncation | Do not warn for calls to bounded string manipulation functions such as "strncat", "strncpy", and "stpncpy" that may either truncate the copied string or leave the destination unchanged. (in the manual page but not in --help) | man |
-Wstrict-flex-arrays (C | Warn about improper usages of flexible array members according to the level of the "strict_flex_array (level)" attribute attached to the trailing array field of a structure if it's available,… (in the manual page but not in --help) | man |
-Wsuggest-attribute attribute-name | Warn for cases where adding an attribute may be beneficial. (in the manual page but not in --help) | man |
-Wmissing-noreturn | (in the manual page but not in --help) | man |
-Wmissing-format-attribute | Warn about function pointers that might be candidates for "format" attributes. (in the manual page but not in --help) | man |
-Walloc-size | Warn about calls to allocation functions decorated with attribute "alloc_size" that specify insufficient size for the target type of the pointer the result is assigned to, including those to the… (in the manual page but not in --help) | man |
-Walloc-zero | Warn about calls to allocation functions decorated with attribute "alloc_size" that specify zero bytes, including those to the built-in forms of the functions "aligned_alloc", "alloca", "calloc",… (in the manual page but not in --help) | man |
-Wcalloc-transposed-args | Warn about calls to allocation functions decorated with attribute "alloc_size" with two arguments, which use "sizeof" operator as the earlier size argument and don't use it as the later size argument. (in the manual page but not in --help) | man |
-Walloc-size-larger-than byte-size | Warn about calls to functions decorated with attribute "alloc_size" that attempt to allocate objects larger than the specified number of bytes, or where the result of the size computation in an… (in the manual page but not in --help) | man |
-Wno-alloc-size-larger-than | Disable -Walloc-size-larger-than= warnings. (in the manual page but not in --help) | man |
-Walloca | This option warns on all uses of "alloca" in the source. (in the manual page but not in --help) | man |
-Wauto-profile | Output warnings about auto-profile inconsistencies. (in the manual page but not in --help) | man |
-Wcannot-profile | Warn when profiling instrumentation was requested, but could not be applied to a certain function. (in the manual page but not in --help) | man |
-Walloca-larger-than byte-size | This option warns on calls to "alloca" with an integer argument whose value is either zero, or that is not bounded by a controlling predicate that limits its value to at most byte-size. (in the manual page but not in --help) | man |
-Wno-alloca-larger-than | Disable -Walloca-larger-than= warnings. (in the manual page but not in --help) | man |
-Warith-conversion | Do warn about implicit conversions from arithmetic operations even when conversion of the operands to the same type cannot change their values. (in the manual page but not in --help) | man |
-Warray-bounds | (in the manual page but not in --help) | man |
-Wunterminated-string-initialization (C | Warn about character arrays initialized as unterminated character sequences with a string literal, unless the declaration being initialized has the "nonstring" attribute. (in the manual page but not in --help) | man |
-Warray-compare | Warn about equality and relational comparisons between two operands of array type. (in the manual page but not in --help) | man |
-Warray-parameter | (in the manual page but not in --help) | man |
-Wattribute-alias n | (in the manual page but not in --help) | man |
-Wno-attribute-alias | Warn about declarations using the "alias" and similar attributes whose target is incompatible with the type of the alias. (in the manual page but not in --help) | man |
-Wbool-compare | Warn about boolean expression compared with an integer value different from "true"/"false". (in the manual page but not in --help) | man |
-Wbool-operation | Warn about suspicious operations on expressions of a boolean type. (in the manual page but not in --help) | man |
-Wduplicated-branches | Warn when an if-else has identical branches. (in the manual page but not in --help) | man |
-Wduplicated-cond | Warn about duplicated conditions in an if-else-if chain. (in the manual page but not in --help) | man |
-Wframe-address | Warn when the __builtin_frame_address or __builtin_return_address is called with an argument greater than 0. (in the manual page but not in --help) | man |
-Wno-discarded-qualifiers (C | Do not warn if type qualifiers on pointers are being discarded. (in the manual page but not in --help) | man |
-Wno-discarded-array-qualifiers (C | Do not warn if type qualifiers on arrays which are pointer targets are being discarded. (in the manual page but not in --help) | man |
-Wno-incompatible-pointer-types (C | Do not warn when there is a conversion between pointers that have incompatible types. (in the manual page but not in --help) | man |
-Wno-int-conversion (C | Do not warn about incompatible integer to pointer and pointer to integer conversions. (in the manual page but not in --help) | man |
-Wzero-as-null-pointer-constant | Warn when a literal 0 is used as null pointer constant. (in the manual page but not in --help) | man |
-Wzero-length-bounds | Warn about accesses to elements of zero-length array members that might overlap other members of the same object. (in the manual page but not in --help) | man |
-Wno-div-by-zero | Do not warn about compile-time integer division by zero. (in the manual page but not in --help) | man |
-Wsystem-headers | Print warning messages for constructs found in system header files. (in the manual page but not in --help) | man |
-Wtautological-compare | Warn if a self-comparison always evaluates to true or false. (in the manual page but not in --help) | man |
-Wtrailing-whitespace | (in the manual page but not in --help) | man |
-Wleading-whitespace kind | Warn about style issues in leading whitespace, but not about the amount of indentation. (in the manual page but not in --help) | man |
-Wtrampolines | Warn about trampolines generated for pointers to nested functions. (in the manual page but not in --help) | man |
-Wfloat-equal | Warn if floating-point values are used in equality comparisons. (in the manual page but not in --help) | man |
-Wtraditional (C | Warn about certain constructs that behave differently in traditional and ISO C. (in the manual page but not in --help) | man |
-Wtraditional-conversion (C | Warn if a prototype causes a type conversion that is different from what would happen to the same argument in the absence of a prototype. (in the manual page but not in --help) | man |
-Wdeclaration-after-statement (C | Warn when a declaration is found after a statement in a block. (in the manual page but not in --help) | man |
-Wshadow | Warn whenever a local variable or type declaration shadows another variable, parameter, type, class member (in C++), or instance variable (in Objective-C) or whenever a built-in function is shadowed. (in the manual page but not in --help) | man |
-Wno-shadow-ivar (Objective-C | Do not warn whenever a local variable shadows an instance variable in an Objective-C method. (in the manual page but not in --help) | man |
-Wlarger-than byte-size | Warn whenever an object is defined whose size exceeds byte-size. (in the manual page but not in --help) | man |
-Wno-larger-than | Disable -Wlarger-than= warnings. (in the manual page but not in --help) | man |
-Wframe-larger-than byte-size | Warn if the size of a function frame exceeds byte-size. (in the manual page but not in --help) | man |
-Wno-frame-larger-than | Disable -Wframe-larger-than= warnings. (in the manual page but not in --help) | man |
-Wfree-nonheap-object | Warn when attempting to deallocate an object that was either not allocated on the heap, or by using a pointer that was not returned from a prior call to the corresponding allocation function. (in the manual page but not in --help) | man |
-Wstack-usage byte-size | Warn if the stack usage of a function might exceed byte-size. (in the manual page but not in --help) | man |
-Wno-stack-usage | Disable -Wstack-usage= warnings. (in the manual page but not in --help) | man |
-Wunsafe-loop-optimizations | Warn if the loop cannot be optimized because the compiler cannot assume anything on the bounds of the loop indices. (in the manual page but not in --help) | man |
-Wno-pedantic-ms-format (MinGW | When used in combination with -Wformat and -pedantic without GNU extensions, this option disables the warnings about non-ISO "printf" / "scanf" format width specifiers "I32", "I64", and "I" used on… (in the manual page but not in --help) | man |
-Wpointer-arith | Warn about anything that depends on the "size of" a function type or of "void". (in the manual page but not in --help) | man |
-Wno-pointer-compare | Do not warn if a pointer is compared with a zero character constant. (in the manual page but not in --help) | man |
-Wno-tsan | Disable warnings about unsupported features in ThreadSanitizer. (in the manual page but not in --help) | man |
-Wtype-limits | Warn if a comparison is always true or always false due to the limited range of the data type, but do not warn for constant expressions. (in the manual page but not in --help) | man |
-Wabsolute-value (C | Warn for calls to standard functions that compute the absolute value of an argument when a more appropriate standard function is available. (in the manual page but not in --help) | man |
-Wcomment | (in the manual page but not in --help) | man |
-Wcomments | Warn whenever a comment-start sequence / appears in a / comment, or whenever a backslash-newline appears in a // comment. (in the manual page but not in --help) | man |
-Wtrigraphs | Warn if any trigraphs are encountered that might change the meaning of the program. (in the manual page but not in --help) | man |
-Wundef | Warn if an undefined identifier is evaluated in an "#if" directive. (in the manual page but not in --help) | man |
-Wexpansion-to-defined | Warn whenever defined is encountered in the expansion of a macro (including the case where the macro is expanded by an #if directive). (in the manual page but not in --help) | man |
-Wunused-macros | Warn about macros defined in the main file that are unused. (in the manual page but not in --help) | man |
-Wno-endif-labels | Do not warn whenever an "#else" or an "#endif" are followed by text. (in the manual page but not in --help) | man |
-Wbad-function-cast (C | Warn when a function call is cast to a non-matching type. (in the manual page but not in --help) | man |
-Wc90-c99-compat (C | Warn about features not present in ISO C90, but present in ISO C99. (in the manual page but not in --help) | man |
-Wc99-c11-compat (C | Warn about features not present in ISO C99, but present in ISO C11. (in the manual page but not in --help) | man |
-Wc11-c23-compat (C | (in the manual page but not in --help) | man |
-Wc11-c2x-compat (C | Warn about features not present in ISO C11, but present in ISO C23. (in the manual page but not in --help) | man |
-Wc23-c2y-compat (C | (in the manual page but not in --help) | man |
-Wc++-compat (C | Warn about ISO C constructs that are outside of the common subset of ISO C and ISO C++, e.g. request for implicit conversion from "void " to a pointer to non-"void" type. (in the manual page but not in --help) | man |
-Wc++11-compat (C++ | Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 2011, e.g., identifiers in ISO C++ 1998 that are keywords in ISO C++ 2011. (in the manual page but not in --help) | man |
-Wc++14-compat (C++ | Warn about C++ constructs whose meaning differs between ISO C++ 2011 and ISO C++ 2014. (in the manual page but not in --help) | man |
-Wc++17-compat (C++ | Warn about C++ constructs whose meaning differs between ISO C++ 2014 and ISO C++ 2017. (in the manual page but not in --help) | man |
-Wc++20-compat (C++ | Warn about C++ constructs whose meaning differs between ISO C++ 2017 and ISO C++ 2020. (in the manual page but not in --help) | man |
-Wc++26-compat (C++ | Warn about C++ constructs whose meaning differs between ISO C++ 2023 and upcoming ISO C++ 2026. (in the manual page but not in --help) | man |
-Wno-c++11-extensions (C++ | Do not warn about C++11 constructs in code being compiled using an older C++ standard. (in the manual page but not in --help) | man |
-Wno-c++14-extensions (C++ | Do not warn about C++14 constructs in code being compiled using an older C++ standard. (in the manual page but not in --help) | man |
-Wno-c++17-extensions (C++ | Do not warn about C++17 constructs in code being compiled using an older C++ standard. (in the manual page but not in --help) | man |
-Wno-c++20-extensions (C++ | Do not warn about C++20 constructs in code being compiled using an older C++ standard. (in the manual page but not in --help) | man |
-Wno-c++23-extensions (C++ | Do not warn about C++23 constructs in code being compiled using an older C++ standard. (in the manual page but not in --help) | man |
-Wno-c++26-extensions (C++ | Do not warn about C++26 constructs in code being compiled using an older C++ standard. (in the manual page but not in --help) | man |
-Wcast-qual | Warn whenever a pointer is cast so as to remove a type qualifier from the target type. (in the manual page but not in --help) | man |
-Wcast-align | Warn whenever a pointer is cast such that the required alignment of the target is increased. (in the manual page but not in --help) | man |
-Wcast-function-type | Warn when a function pointer is cast to an incompatible function pointer. (in the manual page but not in --help) | man |
-Wcast-user-defined | Warn when a cast to reference type does not involve a user-defined conversion that the programmer might expect to be called. (in the manual page but not in --help) | man |
-Wwrite-strings | When compiling C, give string constants the type "const char[length]" so that copying the address of one into a non-"const" "char " pointer produces a warning. (in the manual page but not in --help) | man |
-Wclobbered | Warn for variables that might be changed by "longjmp" or "vfork". (in the manual page but not in --help) | man |
-Wno-complain-wrong-lang | By default, language front ends complain when a command-line option is valid, but not applicable to that front end. (in the manual page but not in --help) | man |
-Wcompare-distinct-pointer-types (C | Warn if pointers of distinct types are compared without a cast. (in the manual page but not in --help) | man |
-Wconversion | Warn for implicit conversions that may alter a value. (in the manual page but not in --help) | man |
-Wdangling-else | Warn about constructions where there may be confusion to which "if" statement an "else" branch belongs. (in the manual page but not in --help) | man |
-Wdangling-pointer | (in the manual page but not in --help) | man |
-Wdate-time | Warn when macros "__TIME__", "__DATE__" or "__TIMESTAMP__" are encountered as they might prevent bitwise-identical reproducible compilations. (in the manual page but not in --help) | man |
-Wempty-body | Warn if an empty body occurs in an "if", "else" or "do while" statement. (in the manual page but not in --help) | man |
-Wenum-compare | Warn about a comparison between values of different enumerated types. (in the manual page but not in --help) | man |
-Wenum-conversion | Warn when a value of enumerated type is implicitly converted to a different enumerated type. (in the manual page but not in --help) | man |
-Wenum-int-mismatch (C | Warn about mismatches between an enumerated type and an integer type in declarations. (in the manual page but not in --help) | man |
-Wjump-misses-init (C | Warn if a "goto" statement or a "switch" statement jumps forward across the initialization of a variable, or jumps backward to a label after the variable has been initialized. (in the manual page but not in --help) | man |
-Wsign-compare | Warn when a comparison between signed and unsigned values could produce an incorrect result when the signed value is converted to unsigned. (in the manual page but not in --help) | man |
-Wsign-conversion | Warn for implicit conversions that may change the sign of an integer value, like assigning a signed integer expression to an unsigned integer variable. (in the manual page but not in --help) | man |
-Wflex-array-member-not-at-end (C | Warn when a structure containing a C99 flexible array member as the last field is not at the end of another structure. (in the manual page but not in --help) | man |
-Wfloat-conversion | Warn for implicit conversions that reduce the precision of a real value. (in the manual page but not in --help) | man |
-Wno-scalar-storage-order | Do not warn on suspicious constructs involving reverse scalar storage order. (in the manual page but not in --help) | man |
-Wsizeof-array-div | Warn about divisions of two sizeof operators when the first one is applied to an array and the divisor does not equal the size of the array element. (in the manual page but not in --help) | man |
-Wsizeof-pointer-div | Warn for suspicious divisions of two sizeof expressions that divide the pointer size by the element size, which is the usual way to compute the array size but won't work out correctly with pointers. (in the manual page but not in --help) | man |
-Wsizeof-pointer-memaccess | Warn for suspicious length parameters to certain string and memory built-in functions if the argument uses "sizeof". (in the manual page but not in --help) | man |
-Wno-sizeof-array-argument | Do not warn when the "sizeof" operator is applied to a parameter that is declared as an array in a function definition. (in the manual page but not in --help) | man |
-Wmemset-elt-size | Warn for suspicious calls to the "memset" built-in function, if the first argument references an array, and the third argument is a number equal to the number of elements, but not equal to the size… (in the manual page but not in --help) | man |
-Wmemset-transposed-args | Warn for suspicious calls to the "memset" built-in function where the second argument is not zero and the third argument is zero. (in the manual page but not in --help) | man |
-Waddress | Warn about suspicious uses of address expressions. (in the manual page but not in --help) | man |
-Wno-address-of-packed-member | Do not warn when the address of packed member of struct or union is taken, which usually results in an unaligned pointer value. (in the manual page but not in --help) | man |
-Wlogical-op | Warn about suspicious uses of logical operators in expressions. (in the manual page but not in --help) | man |
-Wlogical-not-parentheses | Warn about logical not used on the left hand side operand of a comparison. (in the manual page but not in --help) | man |
-Waggregate-return | Warn if any functions that return structures or unions are defined or called. (in the manual page but not in --help) | man |
-Wno-aggressive-loop-optimizations | Do not warn if the compiler detects undefined behavior in a loop with a constant number of iterations. (in the manual page but not in --help) | man |
-Wno-attributes | Do not warn if an unexpected "__attribute__" is used, such as unrecognized attributes, function attributes applied to variables, etc. (in the manual page but not in --help) | man |
-Wno-builtin-declaration-mismatch | Warn if a built-in function is declared with an incompatible signature or as a non-function, or when a built-in function declared with a type that does not include a prototype is called with… (in the manual page but not in --help) | man |
-Wno-builtin-macro-redefined | Do not warn if certain built-in macros are redefined. (in the manual page but not in --help) | man |
-Wkeyword-macro | Warn if a keyword is defined as a macro or undefined. (in the manual page but not in --help) | man |
-Wfree-labels (C | Warn if a label is applied to a non-statement, or occurs at the end of a compound statement. (in the manual page but not in --help) | man |
-Wheader-guard | Warn if a valid preprocessor header multiple inclusion guard has a "#define" directive right after "#ifndef" or "#if !defined" directive for the multiple inclusion guard, which defines a different… (in the manual page but not in --help) | man |
-Wstrict-prototypes (C | Warn if a function is declared or defined without specifying the argument types. (in the manual page but not in --help) | man |
-Wold-style-declaration (C | Warn for obsolescent usages, according to the C Standard, in a declaration. (in the manual page but not in --help) | man |
-Wold-style-definition (C | Warn if an old-style function definition is used. (in the manual page but not in --help) | man |
-Wmultiple-parameter-fwd-decl-lists (C | Warn if more than one list of forward declarations of parameters appears in a function prototype. (in the manual page but not in --help) | man |
-Wdeprecated-non-prototype (C | Warn if a function declared with an empty parameter list () is called with one or more arguments, or if a function definition with one or more parameters is encountered after such a declaration. (in the manual page but not in --help) | man |
-Wmissing-parameter-name (C | Warn if a function definition omits a parameter name, specifying only its type. (in the manual page but not in --help) | man |
-Wmissing-parameter-type (C | A function parameter is declared without a type specifier in K&R-style functions: (in the manual page but not in --help) | man |
-Wno-declaration-missing-parameter-type (C | Do not warn if a function declaration contains a parameter name without a type. (in the manual page but not in --help) | man |
-Wmissing-prototypes (C | Warn if a global function is defined without a previous prototype declaration. (in the manual page but not in --help) | man |
-Wmissing-variable-declarations (C | Warn if a global variable is defined without a previous declaration. (in the manual page but not in --help) | man |
-Wmissing-declarations | Warn if a global function is defined without a previous declaration. (in the manual page but not in --help) | man |
-Wmissing-field-initializers | Warn if a structure's initializer has some fields missing. (in the manual page but not in --help) | man |
-Wno-missing-requires | By default, the compiler warns about a concept-id appearing as a C++20 simple-requirement: (in the manual page but not in --help) | man |
-Wno-missing-template-keyword | The member access tokens ., -> and :: must be followed by the "template" keyword if the parent object is dependent and the member being named is a template. (in the manual page but not in --help) | man |
-Wno-multichar | Do not warn if a multicharacter constant ('FOOF') is used. (in the manual page but not in --help) | man |
-Wno-attribute-warning | Do not warn about usage of functions declared with "warning" attribute. (in the manual page but not in --help) | man |
-Wno-deprecated | Do not warn about usage of deprecated features. (in the manual page but not in --help) | man |
-Wno-deprecated-declarations | Do not warn about uses of functions, variables, or types marked as deprecated by using the "deprecated" attribute. (in the manual page but not in --help) | man |
-Wno-deprecated-openmp | Do not warn about deprecated OpenMP code. (in the manual page but not in --help) | man |
-Wno-overflow | Do not warn about compile-time overflow in constant expressions. (in the manual page but not in --help) | man |
-Wno-odr | Warn about One Definition Rule violations during link-time optimization. (in the manual page but not in --help) | man |
-Wopenacc-parallelism | Warn about potentially suboptimal choices related to OpenACC parallelism. (in the manual page but not in --help) | man |
-Wno-openmp | Warn about suspicious OpenMP code. (in the manual page but not in --help) | man |
-Wopenmp-simd | Warn if the vectorizer cost model overrides the OpenMP simd directive set by user. (in the manual page but not in --help) | man |
-Woverride-init (C | Warn if an initialized field without side effects is overridden when using designated initializers. (in the manual page but not in --help) | man |
-Wno-override-init-side-effects (C | Do not warn if an initialized field with side effects is overridden when using designated initializers. (in the manual page but not in --help) | man |
-Wpacked | Warn if a structure is given the packed attribute, but the packed attribute has no effect on the layout or size of the structure. (in the manual page but not in --help) | man |
-Wnopacked-bitfield-compat | The 4.1, 4.2 and 4.3 series of GCC ignore the "packed" attribute on bit-fields of type "char". (in the manual page but not in --help) | man |
-Wpacked-not-aligned (C | Warn if a structure field with explicitly specified alignment in a packed struct or union is misaligned. (in the manual page but not in --help) | man |
-Wpadded | Warn if padding is included in a structure, either to align an element of the structure or to align the whole structure. (in the manual page but not in --help) | man |
-Wredundant-decls | Warn if anything is declared more than once in the same scope, even in cases where multiple declaration is valid and changes nothing. (in the manual page but not in --help) | man |
-Wrestrict | Warn when an object referenced by a "restrict"-qualified parameter (or, in C++, a "__restrict"-qualified parameter) is aliased by another argument, or when copies between such objects overlap. (in the manual page but not in --help) | man |
-Wnested-externs (C | Warn if an "extern" declaration is encountered within a function. (in the manual page but not in --help) | man |
-Winline | Warn if a function that is declared as inline cannot be inlined. (in the manual page but not in --help) | man |
-Winterference-size | (in the manual page but not in --help) | man |
-Wno-interference-size | Warn about questionable uses of the C++17 "constexpr" variables "std::hardware_destructive_interference_size" and "std::hardware_constructive_interference_size". (in the manual page but not in --help) | man |
-Wint-in-bool-context | Warn for suspicious use of integer values where boolean values are expected, such as conditional expressions (?:) using non-boolean integer constants in boolean context, like "if (a <= b ? 2 : 3)". (in the manual page but not in --help) | man |
-Wno-int-to-pointer-cast | Suppress warnings from casts to pointer type of an integer of a different size. (in the manual page but not in --help) | man |
-Wno-pointer-to-int-cast (C | Suppress warnings from casts from a pointer to an integer type of a different size. (in the manual page but not in --help) | man |
-Winvalid-pch | Warn if a precompiled header is found in the search path but cannot be used. (in the manual page but not in --help) | man |
-Winvalid-utf8 | Warn if an invalid UTF-8 character is found. (in the manual page but not in --help) | man |
-Wno-unicode | Don't diagnose invalid forms of delimited or named escape sequences which are treated as separate tokens. (in the manual page but not in --help) | man |
-Wlong-long | Warn if "long long" type is used. (in the manual page but not in --help) | man |
-Wvariadic-macros | Warn if variadic macros are used in ISO C90 mode, or if the GNU alternate syntax is used in ISO C99 mode. (in the manual page but not in --help) | man |
-Wno-varargs | Do not warn upon questionable usage of the macros used to handle variable arguments like "va_start". (in the manual page but not in --help) | man |
-Wvector-operation-performance | Warn if vector operation is not implemented via SIMD capabilities of the architecture. (in the manual page but not in --help) | man |
-Wvla | Warn if a variable-length array is used in the code. (in the manual page but not in --help) | man |
-Wvla-larger-than byte-size | If this option is used, the compiler warns for declarations of variable-length arrays whose size is either unbounded, or bounded by an argument that allows the array size to exceed byte-size bytes. (in the manual page but not in --help) | man |
-Wno-vla-larger-than | Disable -Wvla-larger-than= warnings. (in the manual page but not in --help) | man |
-Wvla-parameter | Warn about redeclarations of functions involving arguments of Variable Length Array types of inconsistent kinds or forms, and enable the detection of out-of-bounds accesses to such parameters by… (in the manual page but not in --help) | man |
-Wvolatile-register-var | Warn if a register variable is declared volatile. (in the manual page but not in --help) | man |
-Wno-xor-used-as-pow (C | Disable warnings about uses of "^", the exclusive or operator, where it appears the code meant exponentiation. (in the manual page but not in --help) | man |
-Wdisabled-optimization | Warn if a requested optimization pass is disabled. (in the manual page but not in --help) | man |
-Wpointer-sign (C | Warn for pointer argument passing or assignment with different signedness. (in the manual page but not in --help) | man |
-Wstack-protector | This option is only active when -fstack-protector is active. (in the manual page but not in --help) | man |
-Woverlength-strings | Warn about string constants that are longer than the "minimum maximum" length specified in the C standard. (in the manual page but not in --help) | man |
-Wunsuffixed-float-constants (C | Issue a warning for any floating constant that does not have a suffix. (in the manual page but not in --help) | man |
-Wno-lto-type-mismatch | During the link-time optimization, do not warn about type mismatches in global declarations from different compilation units. (in the manual page but not in --help) | man |
-Wno-designated-init (C | Suppress warnings when a positional initializer is used to initialize a structure that has been marked with the "designated_init" attribute. (in the manual page but not in --help) | man |
-fanalyzer | This option enables an static analysis of program flow which looks for "interesting" interprocedural paths through the code, and issues warnings for problems found on them. (in the manual page but not in --help) | man |
-Wanalyzer-symbol-too-complex | If -fanalyzer is enabled, the analyzer uses various heuristics to attempt to track the state of memory, but these can be defeated by sufficiently complicated code. (in the manual page but not in --help) | man |
-Wanalyzer-too-complex | If -fanalyzer is enabled, the analyzer uses various heuristics to attempt to explore the control flow and data flow in the program, but these can be defeated by sufficiently complicated code. (in the manual page but not in --help) | man |
-Wno-analyzer-allocation-size | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-deref-before-check | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-double-fclose | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-double-free | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-exposure-through-output-file | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wanalyzer-exposure-through-uninit-copy | This warning requires both -fanalyzer and the use of a plugin to specify a function that copies across a "trust boundary". (in the manual page but not in --help) | man |
-Wno-analyzer-fd-access-mode-mismatch | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-fd-double-close | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-fd-leak | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-fd-phase-mismatch | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-fd-type-mismatch | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-fd-use-after-close | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-fd-use-without-check | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-file-leak | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-free-of-non-heap | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-imprecise-fp-arithmetic | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-infinite-loop | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-infinite-recursion | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-jump-through-null | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-malloc-leak | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-mismatching-deallocation | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-out-of-bounds | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-overlapping-buffers | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-possible-null-argument | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-possible-null-dereference | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-null-argument | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-null-dereference | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-putenv-of-auto-var | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-shift-count-negative | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-shift-count-overflow | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-stale-setjmp-buffer | This warning requires -fanalyzer, which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-tainted-allocation-size | This warning requires -fanalyzer which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-tainted-assertion | This warning requires -fanalyzer which enables it; (in the manual page but not in --help) | man |
-Wno-analyzer-tainted-array-index | This warning requires -fanalyzer which enables it; (in the manual page but not in --help) | man |