PR other/81345 - -Wall resets -Wstringop-overflow to 1 from the default 2
authorMartin Sebor <msebor@redhat.com>
Mon, 10 Jul 2017 21:00:56 +0000 (21:00 +0000)
committerMartin Sebor <msebor@gcc.gnu.org>
Mon, 10 Jul 2017 21:00:56 +0000 (15:00 -0600)
gcc/c-family/ChangeLog:

PR other/81345
* c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.

gcc/testsuite/ChangeLog:

PR other/81345
* gcc.dg/pr81345.c: New test.

From-SVN: r250104

gcc/c-family/ChangeLog
gcc/c-family/c.opt
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr81345.c [new file with mode: 0644]

index 7ddf192e496dcce3ca00c41307d5f06eb502be96..b21db816b4da0766a5b585669a7573bfecd7ccc2 100644 (file)
@@ -1,3 +1,8 @@
+2017-07-10  Martin Sebor  <msebor@redhat.com>
+
+       PR other/81345
+       * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
+
 2017-07-06  David Malcolm  <dmalcolm@redhat.com>
 
        * c-common.c (selftest::c_family_tests): New.
index 05766c4785633a9576c0340792b569b333b41e4f..e0ad3ab10b87fe7892ae65d35c863ccb2eb38a20 100644 (file)
@@ -732,7 +732,7 @@ Warn about buffer overflow in string manipulation functions like memcpy
 and strcpy.
 
 Wstringop-overflow=
-C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_stringop_overflow) Init(2) Warning LangEnabledBy(C ObjC C++ ObjC++, Wall) IntegerRange(0, 4)
+C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_stringop_overflow) Init(2) Warning LangEnabledBy(C ObjC C++ ObjC++, Wall, 2, 0) IntegerRange(0, 4)
 Under the control of Object Size type, warn about buffer overflow in string
 manipulation functions like memcpy and strcpy.
 
index 98d9d1c14ae61077e19a403e59cf871c10d8274d..9250bca46f248bf304a7dc17cac22028ec641747 100644 (file)
@@ -1,3 +1,8 @@
+2017-07-10  Martin Sebor  <msebor@redhat.com>
+
+       PR other/81345
+       * gcc.dg/pr81345.c: New test.
+
 2017-07-10  Claudiu Zissulescu  <claziss@synopsys.com>
 
        * gcc.target/arc/mulsi3_highpart-1.c: Remove 'X' constraint.
diff --git a/gcc/testsuite/gcc.dg/pr81345.c b/gcc/testsuite/gcc.dg/pr81345.c
new file mode 100644 (file)
index 0000000..c2cbad7
--- /dev/null
@@ -0,0 +1,17 @@
+/* PR other/81345 - -Wall resets -Wstringop-overflow to 1 from the default 2
+   { dg-do compile }
+   { dg-options "-O2 -Wall" } */
+
+char a[3];
+
+void f (const char *s)
+{
+  __builtin_strncpy (a, s, sizeof a + 1);   /* { dg-warning "\\\[-Wstringop-overflow=]" } */
+}
+
+struct S { char a[3]; int i; };
+
+void g (struct S *d, const char *s)
+{
+  __builtin_strncpy (d->a, s, sizeof d->a + 1);   /* { dg-warning "\\\[-Wstringop-overflow=]" } */
+}