(-Wformat-overflow): ...to this.
authorMartin Sebor <msebor@redhat.com>
Thu, 12 Jan 2017 21:54:41 +0000 (21:54 +0000)
committerMartin Sebor <msebor@gcc.gnu.org>
Thu, 12 Jan 2017 21:54:41 +0000 (14:54 -0700)
gcc/c-family/ChangeLog:

(-Wformat-overflow): ...to this.

gcc/ChangeLog:

to -Wformat-overflow.
* gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust.
(min_bytes_remaining): Same.
(get_string_length): Same.
(format_string): Same.
(format_directive): Same.
(add_bytes): Same.
(pass_sprintf_length::handle_gimple_call): Same.

gcc/testsuite/ChangeLog:

* gcc.dg/pr78138.c: Adjust.
* gcc.dg/pr78768.c: Adjust.
* gcc.dg/tree-ssa/builtin-sprintf-4.c: Adjust.
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust.
* gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Adjust.
* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Adjust.
* gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: Adjust.
* gcc.dg/tree-ssa/builtin-sprintf-warn-6.c: Adjust.
* gcc.dg/tree-ssa/builtin-sprintf-warn-7.c: Adjust.
* gcc.dg/tree-ssa/builtin-sprintf-warn-8.c: Adjust.
* gcc.dg/tree-ssa/builtin-sprintf-warn-9.c: Adjust.
* gcc.dg/tree-ssa/pr78605.c: Adjust.
* gcc.dg/tree-ssa/pr78622.c: Adjust.

From-SVN: r244385

20 files changed:
gcc/ChangeLog
gcc/c-family/ChangeLog
gcc/c-family/c.opt
gcc/doc/invoke.texi
gcc/gimple-ssa-sprintf.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/pr78622.c
gcc/testsuite/gcc.dg/pr78138.c
gcc/testsuite/gcc.dg/pr78768.c
gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-4.c
gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-1.c
gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-2.c
gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-3.c
gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-4.c
gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-6.c
gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-7.c
gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-8.c
gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-9.c
gcc/testsuite/gcc.dg/tree-ssa/pr78605.c
gcc/testsuite/gcc.dg/tree-ssa/pr78622.c

index 5ea3fd9dbbb55ec810c2990c52f26dc6bbdd53ee..dc749ab0e3a5a499417677ac7d3aedb1dcb386f6 100644 (file)
@@ -1,3 +1,14 @@
+2017-01-12  Martin Sebor  <msebor@redhat.com>
+
+       to -Wformat-overflow.
+       * gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust.
+       (min_bytes_remaining): Same.
+       (get_string_length): Same.
+       (format_string): Same.
+       (format_directive): Same.
+       (add_bytes): Same.
+       (pass_sprintf_length::handle_gimple_call): Same.
+
 2017-01-12  Jakub Jelinek  <jakub@redhat.com>
 
        * gimple-ssa-sprintf.c (try_substitute_return_value): Remove
index 8faecd4e6a583765ece14e6e71a29419d357ec41..774ca4e0edae7abe8d60c49546cf3956a5f9aa9e 100644 (file)
@@ -1,3 +1,7 @@
+2017-01-12  Martin Sebor  <msebor@redhat.com>
+
+       (-Wformat-overflow): ...to this.
+
 2017-01-11  Martin Sebor  <msebor@redhat.com>
 
        PR c/78768
index 1b49d211bc69e598b378bf6538e8a1f1b1aab77a..33caeb2cded7b07a5023f92a844689e4dcfc83a4 100644 (file)
@@ -520,15 +520,15 @@ Wformat-extra-args
 C ObjC C++ ObjC++ Var(warn_format_extra_args) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 1, 0)
 Warn if passing too many arguments to a function for its format string.
 
-Wformat-length
-C ObjC C++ LTO ObjC++ Warning Alias(Wformat-length=, 1, 0)
-Warn about function calls with format strings that write past the end
-of the destination region.  Same as -Wformat-length=1.
-
 Wformat-nonliteral
 C ObjC C++ ObjC++ Var(warn_format_nonliteral) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)
 Warn about format strings that are not literals.
 
+Wformat-overflow
+C ObjC C++ LTO ObjC++ Warning Alias(Wformat-overflow=, 1, 0)
+Warn about function calls with format strings that write past the end
+of the destination region.  Same as -Wformat-overflow=1.
+
 Wformat-security
 C ObjC C++ ObjC++ Var(warn_format_security) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 2, 0)
 Warn about possible security problems with format functions.
@@ -554,8 +554,8 @@ Wformat=
 C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format) Warning LangEnabledBy(C ObjC C++ ObjC++,Wall, 1, 0)
 Warn about printf/scanf/strftime/strfmon format string anomalies.
 
-Wformat-length=
-C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_format_length) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 1, 0)
+Wformat-overflow=
+C ObjC C++ LTO ObjC++ Joined RejectNegative UInteger Var(warn_format_overflow) Warning LangEnabledBy(C ObjC C++ ObjC++,Wformat=, warn_format >= 1, 0)
 Warn about function calls with format strings that write past the end
 of the destination region.
 
index 9c77db25e77634f76f2410a731dea70fd95b4279..69f0adb8400f52e066a73d8300ec77bfe2da330e 100644 (file)
@@ -274,8 +274,8 @@ Objective-C and Objective-C++ Dialects}.
 -Wno-div-by-zero  -Wdouble-promotion  -Wduplicated-cond @gol
 -Wempty-body  -Wenum-compare  -Wno-endif-labels  -Wexpansion-to-defined @gol
 -Werror  -Werror=*  -Wfatal-errors  -Wfloat-equal  -Wformat  -Wformat=2 @gol
--Wno-format-contains-nul  -Wno-format-extra-args  -Wformat-length=@var{n} @gol
--Wformat-nonliteral @gol
+-Wno-format-contains-nul  -Wno-format-extra-args  @gol
+-Wformat-nonliteral -Wformat-overflow=@var{n} @gol
 -Wformat-security  -Wformat-signedness  -Wformat-truncation=@var{n} @gol
 -Wformat-y2k  -Wframe-address @gol
 -Wframe-larger-than=@var{len}  -Wno-free-nonheap-object  -Wjump-misses-init @gol
@@ -3957,10 +3957,10 @@ in the case of @code{scanf} formats, this option suppresses the
 warning if the unused arguments are all pointers, since the Single
 Unix Specification says that such unused arguments are allowed.
 
-@item -Wformat-length
-@itemx -Wformat-length=@var{level}
-@opindex Wformat-length
-@opindex Wno-format-length
+@item -Wformat-overflow
+@itemx -Wformat-overflow=@var{level}
+@opindex Wformat-overflow
+@opindex Wno-format-overflow
 Warn about calls to formatted input/output functions such as @code{sprintf}
 and @code{vsprintf} that might overflow the destination buffer.  When the
 exact number of bytes written by a format directive cannot be determined
@@ -3970,11 +3970,11 @@ will in most cases improve the accuracy of the warning, it may also
 result in false positives.
 
 @table @gcctabopt
-@item -Wformat-length
-@item -Wformat-length=1
-@opindex Wformat-length
-@opindex Wno-format-length
-Level @var{1} of @option{-Wformat-length} enabled by @option{-Wformat}
+@item -Wformat-overflow
+@item -Wformat-overflow=1
+@opindex Wformat-overflow
+@opindex Wno-format-overflow
+Level @var{1} of @option{-Wformat-overflow} enabled by @option{-Wformat}
 employs a conservative approach that warns only about calls that most
 likely overflow the buffer.  At this level, numeric arguments to format
 directives with unknown values are assumed to have the value of one, and
@@ -3997,7 +3997,7 @@ void f (int a, int b)
 @}
 @end smallexample
 
-@item -Wformat-length=2
+@item -Wformat-overflow=2
 Level @var{2} warns also about calls that might overflow the destination
 buffer given an argument of sufficient length or magnitude.  At level
 @var{2}, unknown numeric arguments are assumed to have the minimum
@@ -4086,13 +4086,13 @@ compile-time it is estimated based on heuristics that depend on
 the @var{level} argument and on optimization.  While enabling optimization
 will in most cases improve the accuracy of the warning, it may also result
 in false positives.  Except as noted otherwise, the option uses the same
-logic @option{-Wformat-length}.
+logic @option{-Wformat-overflow}.
 
 @table @gcctabopt
 @item -Wformat-truncation
 @item -Wformat-truncation=1
 @opindex Wformat-truncation
-@opindex Wno-format-length
+@opindex Wno-format-overflow
 Level @var{1} of @option{-Wformat-truncation} enabled by @option{-Wformat}
 employs a conservative approach that warns only about calls to bounded
 functions whose return value is unused and that will most likely result
@@ -8458,7 +8458,7 @@ if (snprintf (buf, "%08x", i) >= sizeof buf)
 
 The @option{-fprintf-return-value} option relies on other optimizations
 and yields best results with @option{-O2}.  It works in tandem with the
-@option{-Wformat-length} and @option{-Wformat-truncation} options.
+@option{-Wformat-overflow} and @option{-Wformat-truncation} options.
 The @option{-fprintf-return-value} option is enabled by default.
 
 @item -fno-peephole
index a9b730bb3dc978a5dc3f4ed3f8a62a2f75d7b2c3..e6a6a80c27b4cb61f57aba392aaec3300fd85359 100644 (file)
@@ -141,7 +141,7 @@ pass_sprintf_length::gate (function *)
      not optimizing and the pass is being invoked early, or when
      optimizing and the pass is being invoked during optimization
      (i.e., "late").  */
-  return ((warn_format_length > 0 || flag_printf_return_value)
+  return ((warn_format_overflow > 0 || flag_printf_return_value)
          && (optimize > 0) == fold_return_value);
 }
 
@@ -651,7 +651,7 @@ min_bytes_remaining (unsigned HOST_WIDE_INT navail, const format_result &res)
   if (HOST_WIDE_INT_MAX <= navail)
     return navail;
 
-  if (1 < warn_format_length || res.knownrange)
+  if (warn_format_overflow > 1 || res.knownrange)
     {
       /* At level 2, or when all directives output an exact number
         of bytes or when their arguments were bounded by known
@@ -728,7 +728,7 @@ struct pass_sprintf_length::call_info
   /* Return the warning option corresponding to the called function.  */
   int warnopt () const
   {
-    return bounded ? OPT_Wformat_truncation_ : OPT_Wformat_length_;
+    return bounded ? OPT_Wformat_truncation_ : OPT_Wformat_overflow_;
   }
 };
 
@@ -1653,7 +1653,7 @@ get_string_length (tree str)
       fmtresult res;
 
       res.range.min = (tree_fits_uhwi_p (lenrange[0])
-                      ? tree_to_uhwi (lenrange[0]) : 1 < warn_format_length);
+                      ? tree_to_uhwi (lenrange[0]) : warn_format_overflow > 1);
       res.range.max = (tree_fits_uhwi_p (lenrange[1])
                       ? tree_to_uhwi (lenrange[1]) : HOST_WIDE_INT_M1U);
 
@@ -1693,12 +1693,12 @@ format_string (const conversion_spec &spec, tree arg)
      to a "%lc" directive adjusted for precision but not field width.
      6 is the longest UTF-8 sequence for a single wide character.  */
   const unsigned HOST_WIDE_INT max_bytes_for_unknown_wc
-    = (0 <= prec ? prec : 1 < warn_format_length ? 6 : 1);
+    = (0 <= prec ? prec : warn_format_overflow > 1 ? 6 : 1);
 
   /* The maximum number of bytes for an unknown string argument to either
      a "%s" or "%ls" directive adjusted for precision but not field width.  */
   const unsigned HOST_WIDE_INT max_bytes_for_unknown_str
-    = (0 <= prec ? prec : 1 < warn_format_length);
+    = (0 <= prec ? prec : warn_format_overflow > 1);
 
   /* The result is bounded unless overriddden for a non-constant string
      of an unknown length.  */
@@ -1718,7 +1718,7 @@ format_string (const conversion_spec &spec, tree arg)
             is the smaller of either 0 (at level 1) or 1 (at level 2)
             and WIDTH, and the maximum is MB_CUR_MAX in the selected
             locale, which is unfortunately, unknown.  */
-         res.range.min = 1 == warn_format_length ? !nul : nul < 1;
+         res.range.min = warn_format_overflow == 1 ? !nul : nul < 1;
          res.range.max = max_bytes_for_unknown_wc;
          /* The range above is good enough to issue warnings but not
             for value range propagation, so clear BOUNDED.  */
@@ -1756,7 +1756,7 @@ format_string (const conversion_spec &spec, tree arg)
            {
              bounded = false;
 
-             if (warn_format_length > 1)
+             if (warn_format_overflow > 1)
                {
                  /* Leave the minimum number of bytes the wide string
                     converts to equal to its length and set the maximum
@@ -2038,7 +2038,7 @@ format_directive (const pass_sprintf_length::call_info &info,
                            || warn_format_trunc > 1))
                       || (!info.bounded
                           && (spec.specifier == 's'
-                              || 1 < warn_format_length))))
+                              || warn_format_overflow > 1))))
            {
              /* The maximum directive output is longer than there is
                 room in the destination and the output length is either
@@ -2114,7 +2114,7 @@ format_directive (const pass_sprintf_length::call_info &info,
   if (!minunder4k || fmtres.range.max > 4095)
     res->under4k = false;
 
-  if (!warned && 1 < warn_format_length
+  if (!warned && warn_format_overflow > 1
       && (!minunder4k || fmtres.range.max > 4095))
     {
       /* The directive output may be longer than the maximum required
@@ -2151,7 +2151,7 @@ format_directive (const pass_sprintf_length::call_info &info,
 
   if (!warned
       && (exceedmin
-         || (1 < warn_format_length
+         || (warn_format_overflow > 1
              && res->number_chars_max > target_int_max ())))
     {
       /* The directive output causes the total length of output
@@ -2229,7 +2229,7 @@ add_bytes (const pass_sprintf_length::call_info &info,
      are bounded by the arrays they are known to refer to.  */
   if (!res->warned
       && (avail_range.max < nbytes
-         || ((res->knownrange || 1 < warn_format_length)
+         || ((res->knownrange || warn_format_overflow > 1)
              && avail_range.min < nbytes)))
     {
       /* Set NAVAIL to the number of available bytes used to decide
@@ -2237,7 +2237,7 @@ add_bytes (const pass_sprintf_length::call_info &info,
         warning will depend on AVAIL_RANGE.  */
       unsigned HOST_WIDE_INT navail = avail_range.max;
       if (nbytes <= navail && avail_range.min < HOST_WIDE_INT_MAX
-         && (res->knownrange || 1 < warn_format_length))
+         && (res->knownrange || warn_format_overflow > 1))
        navail = avail_range.min;
 
       /* Compute the offset of the first format character that is beyond
@@ -2346,7 +2346,7 @@ add_bytes (const pass_sprintf_length::call_info &info,
 
   if (!res->warned
       && (exceedmin
-         || (1 < warn_format_length
+         || (warn_format_overflow > 1
              && (res->number_chars_max - !end) > target_int_max ())))
     {
       /* The function's output exceeds INT_MAX bytes.  */
@@ -2356,7 +2356,7 @@ add_bytes (const pass_sprintf_length::call_info &info,
         warning will depend on AVAIL_RANGE.  */
       unsigned HOST_WIDE_INT navail = avail_range.max;
       if (nbytes <= navail && avail_range.min < HOST_WIDE_INT_MAX
-         && (res->bounded || 1 < warn_format_length))
+         && (res->bounded || warn_format_overflow > 1))
        navail = avail_range.min;
 
       /* Compute the offset of the first format character that is beyond
@@ -3037,7 +3037,7 @@ pass_sprintf_length::handle_gimple_call (gimple_stmt_iterator *gsi)
          if (range_type == VR_RANGE)
            {
              dstsize
-               = (warn_format_length < 2
+               = (warn_format_overflow < 2
                   ? wi::fits_uhwi_p (max) ? max.to_uhwi () : max.to_shwi ()
                   : wi::fits_uhwi_p (min) ? min.to_uhwi () : min.to_shwi ());
            }
index fdbeeb54c727531a5f80c20349818de2f5b8f4eb..8bf8bf2db39ec4ae31fbdb7ff06517e75ee3a233 100644 (file)
@@ -1,3 +1,19 @@
+2017-01-12  Martin Sebor  <msebor@redhat.com>
+
+       * gcc.dg/pr78138.c: Adjust.
+       * gcc.dg/pr78768.c: Adjust.
+       * gcc.dg/tree-ssa/builtin-sprintf-4.c: Adjust.
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust.
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Adjust.
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Adjust.
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: Adjust.
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-6.c: Adjust.
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-7.c: Adjust.
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-8.c: Adjust.
+       * gcc.dg/tree-ssa/builtin-sprintf-warn-9.c: Adjust.
+       * gcc.dg/tree-ssa/pr78605.c: Adjust.
+       * gcc.dg/tree-ssa/pr78622.c: Adjust.
+
 2017-01-12  Jakub Jelinek  <jakub@redhat.com>
 
        * gcc.dg/tree-ssa/builtin-snprintf-1.c: New test.
index d835c74c40db7b82dc9c7681849d2d2dd20df2ec..b62febd9fdfb4e631b379a0abb5793d3851c8390 100644 (file)
@@ -1,6 +1,6 @@
-/* PR middle-end/78622 - [7 Regression] -Wformat-length/-fprintf-return-value
+/* PR middle-end/78622 - [7 Regression] -Wformat-overflow/-fprintf-return-value
    incorrect with overflow/wrapping
-   { dg-additional-options "-Wformat-length=2" } */
+   { dg-additional-options "-Wformat-overflow=2" } */
 
 __attribute__((noinline, noclone)) int
 foo (int x)
index ecc9ee655bcbe75e15b03b9483cc7e779f47d7fa..cfc5a8cb0f51d531dde60ca602d7b23c20645393 100644 (file)
@@ -1,7 +1,7 @@
 /* PR middle-end/78138 - missing warnings on buffer overflow with non-constant
    source length
    { dg-do compile }
-   { dg-options "-O2 -Wformat-length" } */
+   { dg-options "-O2 -Wformat-overflow" } */
 
 char d [5];
 
index 229b85d9f05c2acd8f76dcc74697adc25c1f4c5f..ca1fc43bccd2866ed8d1e491f83209d52f512ee4 100644 (file)
@@ -1,14 +1,14 @@
-/* PR c/78768 - -Walloca-larger-than and -Wformat-length warnings disabled
+/* PR c/78768 - -Walloca-larger-than and -Wformat-overflow warnings disabled
    by -flto
   { dg-do run }
   { dg-require-effective-target lto }
-  { dg-options "-O2 -Walloca-larger-than=10 -Wformat -Wformat-length -flto" } */
+  { dg-options "-O2 -Walloca-larger-than=10 -Wformat -Wformat-overflow -flto" } */
 
 int main (void)
 {
   char *d = (char *)__builtin_alloca (12);  /* { dg-warning "argument to .alloca. is too large" } */
 
-  __builtin_sprintf (d, "%32s", "x");   /* { dg-warning "directive writing 32 bytes into a region of size 12" "-Wformat-length" { xfail *-*-* } } */
+  __builtin_sprintf (d, "%32s", "x");   /* { dg-warning "directive writing 32 bytes into a region of size 12" "-Wformat-overflow" { xfail *-*-* } } */
 
   return 0;
 }
index 42448749fc7f0659f14bf464b06d2de259ca4401..08993a24356e6bc4a953cbb429292c921b864ef3 100644 (file)
@@ -1,7 +1,7 @@
 /* PR middle-end/78461 - [7 Regression] ICE: in operator+=, at
    gimple-ssa-sprintf.c:214
    Disable warnings to exercise code paths through the pass that may
-   not be exercised when the -Wformat-length option is in effect.  */
+   not be exercised when the -Wformat-overflow option is in effect.  */
 /* { dg-compile }
    { dg-options "-O2 -fdump-tree-optimized -w" } */
 
index 4d08bcd68422b71d5cf71abaadc3364ace4f552a..bf4e57a8bd257f4124cd873bd01ea9d2a92b5919 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-Wformat -Wformat-length=1 -ftrack-macro-expansion=0" } */
+/* { dg-options "-Wformat -Wformat-overflow=1 -ftrack-macro-expansion=0" } */
 /* { dg-require-effective-target int32plus } */
 
 /* When debugging, define LINE to the line number of the test case to exercise
@@ -1028,7 +1028,7 @@ void test_sprintf_chk_e_const (void)
   T (12, "%Le", 9.9999999e+99L);/* { dg-warning "terminating nul" } */
 }
 
-/* At -Wformat-length level 1 unknown numbers are assumed to have
+/* At -Wformat-overflow level 1 unknown numbers are assumed to have
    the value one, and unknown strings are assumed to have a zero
    length.  */
 
index 7acb83d85b7a88439aaf0b05f8ba73f835e30154..d5bb0a8f716a03e4492e5d8f9f33bbd2b9bcddec 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-std=c99 -Wformat -Wformat-length=2 -ftrack-macro-expansion=0" } */
+/* { dg-options "-std=c99 -Wformat -Wformat-overflow=2 -ftrack-macro-expansion=0" } */
 
 /* When debugging, define LINE to the line number of the test case to exercise
    and avoid exercising any of the others.  The buffer and objsize macros
index eb5978180f1f5adcab4fa5986123fcdf21029ab3..e0f3f68b7cbc88c1988af970f3155259f88c5e65 100644 (file)
@@ -4,7 +4,7 @@
    -O2 (-ftree-vrp) is necessary for the tests involving ranges to pass,
    otherwise -O1 is sufficient.
    { dg-do compile }
-   { dg-options "-O2 -Wformat -Wformat-length=1 -ftrack-macro-expansion=0" } */
+   { dg-options "-O2 -Wformat -Wformat-overflow=1 -ftrack-macro-expansion=0" } */
 
 typedef __SIZE_TYPE__ size_t;
 
index 3b3fb68b40dd0731ba42ecaa5e9b0fadfd8c6aef..2eadfcd46ff91c4da30accccf1300050aa6eee0d 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-Wformat -Wformat-length=1 -fdiagnostics-show-caret" } */
+/* { dg-options "-Wformat -Wformat-overflow=1 -fdiagnostics-show-caret" } */
 
 extern int sprintf (char*, const char*, ...);
 
@@ -17,7 +17,7 @@ void test (void)
    sprintf (dst + 2, "1", 0);
                      ^~~
      { dg-end-multiline-output "" }
-     { dg-begin-multiline-output "-Wformat-length output" }
+     { dg-begin-multiline-output "-Wformat-overflow output" }
    sprintf (dst + 2, "1", 0);
                       ~^
      { dg-end-multiline-output "" }
@@ -35,7 +35,7 @@ void test (void)
    sprintf (dst, "1234", 0);
                  ^~~~~~
      { dg-end-multiline-output "" }
-     { dg-begin-multiline-output "-Wformat-length output" }
+     { dg-begin-multiline-output "-Wformat-overflow output" }
    sprintf (dst, "1234", 0);
                      ^
      { dg-end-multiline-output "" }
@@ -54,7 +54,7 @@ void test (void)
    sprintf (dst, "12345", 0);
                  ^~~~~~~
      { dg-end-multiline-output "" }
-     { dg-begin-multiline-output "-Wformat-length output" }
+     { dg-begin-multiline-output "-Wformat-overflow output" }
    sprintf (dst, "12345", 0);
                      ^~
      { dg-end-multiline-output "" }
@@ -68,7 +68,7 @@ void test (void)
   sprintf (dst + 2, "%-s", "1");
   /* { dg-warning "writing a terminating nul past the end of the destination" "warning" { target *-*-* } .-1 }
      { dg-message "format output 2 bytes into a destination of size 1" "note" { target *-*-* } .-2 }
-     { dg-begin-multiline-output "-Wformat-length output" }
+     { dg-begin-multiline-output "-Wformat-overflow output" }
    sprintf (dst + 2, "%-s", "1");
                       ~~~^
      { dg-end-multiline-output "" }
@@ -80,7 +80,7 @@ void test (void)
   sprintf (dst + 2, "%-s", "abcd");
   /* { dg-warning ".%-s. directive writing 4 bytes into a region of size 1" "warning" { target *-*-* } .-1 }
      { dg-message "format output 5 bytes into a destination of size 1" "note" { target *-*-* } .-2 }
-     { dg-begin-multiline-output "-Wformat-length output" }
+     { dg-begin-multiline-output "-Wformat-overflow output" }
    sprintf (dst + 2, "%-s", "abcd");
                       ^~~   ~~~~~~
      { dg-end-multiline-output "" }
index 93c53a409fc0c95518e97c5651c4c91b7bdc79bf..16ea8eed7efd4f5fe8c7e181f0888e5fc719e981 100644 (file)
@@ -1,8 +1,8 @@
-/* PR middle-end/77721 - -Wformat-length not uses arg range for converted vars
+/* PR middle-end/77721 - -Wformat-overflow not uses arg range for converted vars
    Test to verify that the correct range information is made available to the
    -Wformat-lenght check to prevent warnings.  */
 /* { dg-do compile } */
-/* { dg-options "-O2 -Wformat -Wformat-length -fdump-tree-optimized" } */
+/* { dg-options "-O2 -Wformat -Wformat-overflow -fdump-tree-optimized" } */
 
 void abort (void);
 int snprintf (char*, __SIZE_TYPE__, const char*, ...);
index e087a8f873c808b94db9b0ca4d1617ed3aac74d1..1bb9d623db0712c125b2f59c3dea222b19700cf6 100644 (file)
@@ -2,7 +2,7 @@
    precision
    { dg-do compile }
    { dg-require-effective-target int32plus }
-   { dg-options "-Wformat-length -ftrack-macro-expansion=0" } */
+   { dg-options "-Wformat-overflow -ftrack-macro-expansion=0" } */
 
 #define INT_MAX __INT_MAX__
 #define INT_MIN (-INT_MAX - 1)
index 2550065549d919771bed1564e2da41106b15fd69..4844c62d6615566ff8119eb5a37cdd5d2f6c12b7 100644 (file)
@@ -1,7 +1,7 @@
 /* PR middle-end/78519 - missing warning for sprintf %s with null pointer
    Also exercises null destination pointer and null format string.
    { dg-do compile }
-   { dg-options "-O2 -Wformat -Wformat-length -Wno-nonnull -ftrack-macro-expansion=0" } */
+   { dg-options "-O2 -Wformat -Wformat-overflow -Wno-nonnull -ftrack-macro-expansion=0" } */
 
 typedef __builtin_va_list va_list;
 
index c8c6405c7d1c0f81c5e643974e4ff169e5a1fa30..4b331ab260560954e5d7178f50eebf4b6a3ad702 100644 (file)
@@ -2,7 +2,7 @@
    Test to verify the correctness of ranges of output computed for floating
    point directives.
    { dg-do compile }
-   { dg-options "-O2 -Wformat -Wformat-length -ftrack-macro-expansion=0" } */
+   { dg-options "-O2 -Wformat -Wformat-overflow -ftrack-macro-expansion=0" } */
 
 typedef __builtin_va_list va_list;
 
index 1fad3146d5b79cac66ab90b0d03c0c803aac0641..141a12c3fd1f4d2b82558ba621d30b4887790ef8 100644 (file)
@@ -1,6 +1,6 @@
-/* PR middle-end/78605 - bogus -Wformat-length=1 with %f
+/* PR middle-end/78605 - bogus -Wformat-overflow=1 with %f
    { dg-do compile }
-   { dg-options "-O2 -Wall -Wextra -Wformat-length=1" } */
+   { dg-options "-O2 -Wall -Wextra -Wformat-overflow=1" } */
 
 char d[10];
 
index 3c6b88144b3d8186b87206d57d7a7cd40284d805..b672710028d8a24c7d23b2d2b522ccc4a72ff224 100644 (file)
@@ -1,7 +1,7 @@
-/* PR middle-end/78622 - [7 Regression] -Wformat-length/-fprintf-return-value
+/* PR middle-end/78622 - [7 Regression] -Wformat-overflow/-fprintf-return-value
    incorrect with overflow/wrapping
    { dg-do compile }
-   { dg-options "-Wformat-length=2" }
+   { dg-options "-Wformat-overflow=2" }
    The h and hh length modifiers are a C99 feature (see PR 78959).
    { dg-require-effective-target c99_runtime }  */