Don't suppress bogus usage of macros from system headers in -Wformat (PR c/78304)
authorDavid Malcolm <dmalcolm@redhat.com>
Fri, 13 Jan 2017 19:27:43 +0000 (19:27 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
Fri, 13 Jan 2017 19:27:43 +0000 (19:27 +0000)
commitbe4aa83d6ff4720fffd2c9f62c6e3082ece1937f
tree1ba8193ad64aa0c109a78cb075770c0922917e6f
parent7cdca3ec8a5ae98b5a92dcb3cb2d6d28f8f68266
Don't suppress bogus usage of macros from system headers in -Wformat (PR c/78304)

gcc/ChangeLog:
PR c/78304
* substring-locations.c (format_warning_va): Strengthen case 1 so
that both endpoints of the substring must be within the format
range for just the substring to be printed.

gcc/testsuite/ChangeLog:
PR c/78304
* gcc.dg/format/diagnostic-ranges.c (test_macro): Undef INT_FMT.
(test_macro_2): New test.
(test_macro_3): New test.
(test_macro_4): New test.
(test_non_contiguous_strings): Convert line number to line offset.
* gcc.dg/format/pr78304-2.c: New test case.
* gcc.dg/format/pr78304.c: New test case.

From-SVN: r244453
gcc/ChangeLog
gcc/substring-locations.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/format/diagnostic-ranges.c
gcc/testsuite/gcc.dg/format/pr78304-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/format/pr78304.c [new file with mode: 0644]