gimple-ssa-warn-restrict.c (maybe_diag_overlap): Use warning_n instead of warning_at...
authorJakub Jelinek <jakub@redhat.com>
Wed, 28 Feb 2018 18:38:19 +0000 (19:38 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 28 Feb 2018 18:38:19 +0000 (19:38 +0100)
* gimple-ssa-warn-restrict.c (maybe_diag_overlap): Use warning_n
instead of warning_at with conditional singular and plural messages
where possible.

From-SVN: r258078

gcc/ChangeLog
gcc/gimple-ssa-warn-restrict.c

index 5d3319c00f0071c27ee84c38743c6e0e34806553..c80f71a1de0b1342f9e3d46874b424a6adfa23bf 100644 (file)
@@ -1,5 +1,9 @@
 2018-02-28  Jakub Jelinek  <jakub@redhat.com>
 
+       * gimple-ssa-warn-restrict.c (maybe_diag_overlap): Use warning_n
+       instead of warning_at with conditional singular and plural messages
+       where possible.
+
        PR target/52991
        * stor-layout.c (update_alignment_for_field): For
        targetm.ms_bitfield_layout_p (rli->t), if !is_bitfield
index 9d5c6e043701cbee9eb0aa7f32658f82f6438326..df775062758fcd355f96afac8e433266120a5629 100644 (file)
@@ -1399,42 +1399,38 @@ maybe_diag_overlap (location_t loc, gcall *call, builtin_access &acs)
                        call, func, sizrange[0],
                        offstr[0], offstr[1], ovlsiz[0], offstr[2]);
          else if (ovlsiz[1] >= 0 && ovlsiz[1] < maxobjsize.to_shwi ())
-           warning_at (loc, OPT_Wrestrict,
-                       sizrange[0] == 1
-                       ? G_("%G%qD accessing %wu byte at offsets %s "
-                            "and %s overlaps between %wu and %wu bytes "
-                            "at offset %s")
-                       : G_("%G%qD accessing %wu bytes at offsets %s "
-                            "and %s overlaps between %wu and %wu bytes "
-                            "at offset %s"),
-                       call, func, sizrange[0],
-                       offstr[0], offstr[1], ovlsiz[0], ovlsiz[1],
-                       offstr[2]);
+           warning_n (loc, OPT_Wrestrict, sizrange[0],
+                      "%G%qD accessing %wu byte at offsets %s "
+                      "and %s overlaps between %wu and %wu bytes "
+                      "at offset %s",
+                      "%G%qD accessing %wu bytes at offsets %s "
+                      "and %s overlaps between %wu and %wu bytes "
+                      "at offset %s",
+                      call, func, sizrange[0], offstr[0], offstr[1],
+                      ovlsiz[0], ovlsiz[1], offstr[2]);
          else
-           warning_at (loc, OPT_Wrestrict,
-                       sizrange[0] == 1
-                       ? G_("%G%qD accessing %wu byte at offsets %s and "
-                            "%s overlaps %wu or more bytes at offset %s")
-                       : G_("%G%qD accessing %wu bytes at offsets %s and "
-                            "%s overlaps %wu or more bytes at offset %s"),
-                       call, func, sizrange[0],
-                       offstr[0], offstr[1], ovlsiz[0], offstr[2]);
+           warning_n (loc, OPT_Wrestrict, sizrange[0],
+                      "%G%qD accessing %wu byte at offsets %s and "
+                      "%s overlaps %wu or more bytes at offset %s",
+                      "%G%qD accessing %wu bytes at offsets %s and "
+                      "%s overlaps %wu or more bytes at offset %s",
+                      call, func, sizrange[0],
+                      offstr[0], offstr[1], ovlsiz[0], offstr[2]);
          return true;
        }
 
       if (sizrange[1] >= 0 && sizrange[1] < maxobjsize.to_shwi ())
        {
          if (ovlsiz[0] == ovlsiz[1])
-           warning_at (loc, OPT_Wrestrict,
-                       ovlsiz[0] == 1
-                       ? G_("%G%qD accessing between %wu and %wu bytes "
-                            "at offsets %s and %s overlaps %wu byte at "
-                            "offset %s")
-                       : G_("%G%qD accessing between %wu and %wu bytes "
-                            "at offsets %s and %s overlaps %wu bytes "
-                            "at offset %s"),
-                       call, func, sizrange[0], sizrange[1],
-                       offstr[0], offstr[1], ovlsiz[0], offstr[2]);
+           warning_n (loc, OPT_Wrestrict, ovlsiz[0],
+                      "%G%qD accessing between %wu and %wu bytes "
+                      "at offsets %s and %s overlaps %wu byte at "
+                      "offset %s",
+                      "%G%qD accessing between %wu and %wu bytes "
+                      "at offsets %s and %s overlaps %wu bytes "
+                      "at offset %s",
+                      call, func, sizrange[0], sizrange[1],
+                      offstr[0], offstr[1], ovlsiz[0], offstr[2]);
          else if (ovlsiz[1] >= 0 && ovlsiz[1] < maxobjsize.to_shwi ())
            warning_at (loc, OPT_Wrestrict,
                        "%G%qD accessing between %wu and %wu bytes at "
@@ -1457,14 +1453,13 @@ maybe_diag_overlap (location_t loc, gcall *call, builtin_access &acs)
        ovlsiz[1] = maxobjsize.to_shwi ();
 
       if (ovlsiz[0] == ovlsiz[1])
-       warning_at (loc, OPT_Wrestrict,
-                   ovlsiz[0] == 1
-                   ? G_("%G%qD accessing %wu or more bytes at offsets "
-                        "%s and %s overlaps %wu byte at offset %s")
-                   :  G_("%G%qD accessing %wu or more bytes at offsets "
-                         "%s and %s overlaps %wu bytes at offset %s"),
-                   call, func, sizrange[0], offstr[0], offstr[1],
-                   ovlsiz[0], offstr[2]);
+       warning_n (loc, OPT_Wrestrict, ovlsiz[0],
+                  "%G%qD accessing %wu or more bytes at offsets "
+                  "%s and %s overlaps %wu byte at offset %s",
+                  "%G%qD accessing %wu or more bytes at offsets "
+                  "%s and %s overlaps %wu bytes at offset %s",
+                  call, func, sizrange[0], offstr[0], offstr[1],
+                  ovlsiz[0], offstr[2]);
       else if (ovlsiz[1] >= 0 && ovlsiz[1] < maxobjsize.to_shwi ())
        warning_at (loc, OPT_Wrestrict,
                    "%G%qD accessing %wu or more bytes at offsets %s "
@@ -1501,77 +1496,70 @@ maybe_diag_overlap (location_t loc, gcall *call, builtin_access &acs)
       if (ovlsiz[1] == 1)
        {
          if (open_range)
-           warning_at (loc, OPT_Wrestrict,
-                       sizrange[1] == 1
-                       ? G_("%G%qD accessing %wu byte may overlap "
-                            "%wu byte")
-                       : G_("%G%qD accessing %wu bytes may overlap "
-                            "%wu byte"),
-                       call, func, sizrange[1], ovlsiz[1]);
+           warning_n (loc, OPT_Wrestrict, sizrange[1],
+                      "%G%qD accessing %wu byte may overlap "
+                      "%wu byte",
+                      "%G%qD accessing %wu bytes may overlap "
+                      "%wu byte",
+                      call, func, sizrange[1], ovlsiz[1]);
          else
-           warning_at (loc, OPT_Wrestrict,
-                       sizrange[1] == 1
-                       ? G_("%G%qD accessing %wu byte at offsets %s "
-                            "and %s may overlap %wu byte at offset %s")
-                       : G_("%G%qD accessing %wu bytes at offsets %s "
-                            "and %s may overlap %wu byte at offset %s"),
-                       call, func, sizrange[1], offstr[0], offstr[1],
-                       ovlsiz[1], offstr[2]);
+           warning_n (loc, OPT_Wrestrict, sizrange[1],
+                      "%G%qD accessing %wu byte at offsets %s "
+                      "and %s may overlap %wu byte at offset %s",
+                      "%G%qD accessing %wu bytes at offsets %s "
+                      "and %s may overlap %wu byte at offset %s",
+                      call, func, sizrange[1], offstr[0], offstr[1],
+                      ovlsiz[1], offstr[2]);
          return true;
        }
 
       if (open_range)
-       warning_at (loc, OPT_Wrestrict,
-                   sizrange[1] == 1
-                   ? G_("%G%qD accessing %wu byte may overlap "
-                        "up to %wu bytes")
-                   : G_("%G%qD accessing %wu bytes may overlap "
-                        "up to %wu bytes"),
-                   call, func, sizrange[1], ovlsiz[1]);
+       warning_n (loc, OPT_Wrestrict, sizrange[1],
+                  "%G%qD accessing %wu byte may overlap "
+                  "up to %wu bytes",
+                  "%G%qD accessing %wu bytes may overlap "
+                  "up to %wu bytes",
+                  call, func, sizrange[1], ovlsiz[1]);
       else
-       warning_at (loc, OPT_Wrestrict,
-                   sizrange[1] == 1
-                   ? G_("%G%qD accessing %wu byte at offsets %s and "
-                        "%s may overlap up to %wu bytes at offset %s")
-                   : G_("%G%qD accessing %wu bytes at offsets %s and "
-                        "%s may overlap up to %wu bytes at offset %s"),
-                   call, func, sizrange[1], offstr[0], offstr[1],
-                   ovlsiz[1], offstr[2]);
+       warning_n (loc, OPT_Wrestrict, sizrange[1],
+                  "%G%qD accessing %wu byte at offsets %s and "
+                  "%s may overlap up to %wu bytes at offset %s",
+                  "%G%qD accessing %wu bytes at offsets %s and "
+                  "%s may overlap up to %wu bytes at offset %s",
+                  call, func, sizrange[1], offstr[0], offstr[1],
+                  ovlsiz[1], offstr[2]);
       return true;
     }
 
   if (sizrange[1] >= 0 && sizrange[1] < maxobjsize.to_shwi ())
     {
       if (open_range)
-       warning_at (loc, OPT_Wrestrict,
-                   ovlsiz[1] == 1
-                   ? G_("%G%qD accessing between %wu and %wu bytes "
-                        "may overlap %wu byte")
-                   : G_("%G%qD accessing between %wu and %wu bytes "
-                        "may overlap up to %wu bytes"),
-                   call, func, sizrange[0], sizrange[1], ovlsiz[1]);
+       warning_n (loc, OPT_Wrestrict, ovlsiz[1],
+                  "%G%qD accessing between %wu and %wu bytes "
+                  "may overlap %wu byte",
+                  "%G%qD accessing between %wu and %wu bytes "
+                  "may overlap up to %wu bytes",
+                  call, func, sizrange[0], sizrange[1], ovlsiz[1]);
       else
-       warning_at (loc, OPT_Wrestrict,
-                   ovlsiz[1] == 1
-                   ? G_("%G%qD accessing between %wu and %wu bytes "
-                        "at offsets %s and %s may overlap %wu byte "
-                        "at offset %s")
-                   : G_("%G%qD accessing between %wu and %wu bytes "
-                        "at offsets %s and %s may overlap up to %wu "
-                        "bytes at offset %s"),
-                   call, func, sizrange[0], sizrange[1],
-                   offstr[0], offstr[1], ovlsiz[1], offstr[2]);
+       warning_n (loc, OPT_Wrestrict, ovlsiz[1],
+                  "%G%qD accessing between %wu and %wu bytes "
+                  "at offsets %s and %s may overlap %wu byte "
+                  "at offset %s",
+                  "%G%qD accessing between %wu and %wu bytes "
+                  "at offsets %s and %s may overlap up to %wu "
+                  "bytes at offset %s",
+                  call, func, sizrange[0], sizrange[1],
+                  offstr[0], offstr[1], ovlsiz[1], offstr[2]);
       return true;
     }
 
-  warning_at (loc, OPT_Wrestrict,
-             ovlsiz[1] == 1
-             ? G_("%G%qD accessing %wu or more bytes at offsets %s "
-                  "and %s may overlap %wu byte at offset %s")
-             : G_("%G%qD accessing %wu or more bytes at offsets %s "
-                  "and %s may overlap up to %wu bytes at offset %s"),
-             call, func, sizrange[0], offstr[0], offstr[1],
-             ovlsiz[1], offstr[2]);
+  warning_n (loc, OPT_Wrestrict, ovlsiz[1],
+            "%G%qD accessing %wu or more bytes at offsets %s "
+            "and %s may overlap %wu byte at offset %s",
+            "%G%qD accessing %wu or more bytes at offsets %s "
+            "and %s may overlap up to %wu bytes at offset %s",
+            call, func, sizrange[0], offstr[0], offstr[1],
+            ovlsiz[1], offstr[2]);
 
   return true;
 }