From: Martin Sebor <msebor@gmail.com>
To: Gcc Patch List <gcc-patches@gcc.gnu.org>
Subject: [PATCH] update -Wall and -Wextra documentation
Date: Wed, 09 Dec 2015 23:07:00 -0000 [thread overview]
Message-ID: <5668B417.8070604@gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 373 bytes --]
A number of warning options are missing from the list shown under
-Wall (for example, -Winit-self, -Wlogical-not-parentheses, and
-Wplacement-new). The patch adds the missing ones and adjusts
some of the existing ones to maintain an alphabetical order. It
also makes a couple of minor clarifications to -Wextra, and adds
an example to the -Wplacement-new option.
Martin
[-- Attachment #2: gcc-wall-doc.patch --]
[-- Type: text/x-patch, Size: 3236 bytes --]
2015-12-09 Martin Sebor <msebor@redhat.com>
* invoke.texi (Warning Options): Update -Wall options. Clarify
when some -Wextra options are enabled. Add -Wplacement-new example.
Index: invoke.texi
===================================================================
--- invoke.texi (revision 231436)
+++ invoke.texi (working copy)
@@ -3541,26 +3541,33 @@
@gccoptlist{-Waddress @gol
-Warray-bounds=1 @r{(only with} @option{-O2}@r{)} @gol
+-Wbool-compare @gol
-Wc++11-compat -Wc++14-compat@gol
-Wchar-subscripts @gol
+-Wcomment @gol
+-Wduplicated-cond @gol
-Wenum-compare @r{(in C/ObjC; this is on by default in C++)} @gol
+-Wformat @gol
+-Wimplicit @r{(C and Objective-C only)} @gol
-Wimplicit-int @r{(C and Objective-C only)} @gol
-Wimplicit-function-declaration @r{(C and Objective-C only)} @gol
--Wbool-compare @gol
--Wduplicated-cond @gol
--Wcomment @gol
--Wformat @gol
+-Winit-self @r{(only for C++)} @gol
+-Wlogical-not-parentheses
-Wmain @r{(only for C/ObjC and unless} @option{-ffreestanding}@r{)} @gol
-Wmaybe-uninitialized @gol
+-Wmemset-transposed-args @gol
-Wmissing-braces @r{(only for C/ObjC)} @gol
+-Wnarrowing @r{(only for C++)} @gol
-Wnonnull @gol
-Wopenmp-simd @gol
-Wparentheses @gol
+-Wplacement-new @r{(only for C++)} @gol
-Wpointer-sign @gol
-Wreorder @gol
-Wreturn-type @gol
-Wsequence-point @gol
-Wsign-compare @r{(only in C++)} @gol
+-Wsizeof-pointer-memaccess @gol
-Wstrict-aliasing @gol
-Wstrict-overflow=1 @gol
-Wswitch @gol
@@ -3598,10 +3605,10 @@
-Wmissing-parameter-type @r{(C only)} @gol
-Wold-style-declaration @r{(C only)} @gol
-Woverride-init @gol
--Wsign-compare @gol
+-Wsign-compare @r{(C only)} @gol
-Wtype-limits @gol
-Wuninitialized @gol
--Wshift-negative-value @gol
+-Wshift-negative-value @r{(in C++03 and in C99 and newer)} @gol
-Wunused-parameter @r{(only with} @option{-Wunused} @r{or} @option{-Wall}@r{)} @gol
-Wunused-but-set-parameter @r{(only with} @option{-Wunused} @r{or} @option{-Wall}@r{)} @gol
}
@@ -4895,8 +4902,15 @@
@opindex Wno-placement-new
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.
-
+the object. For example, the placement new expression below is diagnosed
+because it attempts to construct an array of 64 integers in a buffer only
+64 bytes large.
+@smallexample
+char buf [64];
+new (buf) int[64];
+@end smallexample
+This warning is enabled by @option{-Wall}.
+
@item -Wpointer-arith
@opindex Wpointer-arith
@opindex Wno-pointer-arith
@@ -5113,8 +5127,9 @@
@cindex signed and unsigned values, comparison warning
Warn when a comparison between signed and unsigned values could produce
an incorrect result when the signed value is converted to unsigned.
-This warning is also enabled by @option{-Wextra}; to get the other warnings
-of @option{-Wextra} without this warning, use @option{-Wextra -Wno-sign-compare}.
+In C++, this warning is also enabled by @option{-Wall}. In C, it is also
+enabled by @option{-Wextra}; to get the other warnings of @option{-Wextra}
+without this warning, use @option{-Wextra -Wno-sign-compare}.
@item -Wsign-conversion
@opindex Wsign-conversion
next reply other threads:[~2015-12-09 23:07 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-09 23:07 Martin Sebor [this message]
2015-12-10 11:57 ` Bernd Schmidt
2015-12-10 16:52 ` Martin Sebor
2015-12-10 17:00 ` Bernd Schmidt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5668B417.8070604@gmail.com \
--to=msebor@gmail.com \
--cc=gcc-patches@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).