PR preprocessor/79214 - -Wno-system-header defeats strncat buffer overflow warnings
commit4d31723724098575c1b98ba0201b41d2832b33cd
authormsebor <msebor@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 May 2017 20:54:43 +0000 (4 20:54 +0000)
committermsebor <msebor@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 May 2017 20:54:43 +0000 (4 20:54 +0000)
tree052b919e3dc3dfdaf0c430202ec00ab03681aa7a
parente0e3c67a150ad9160cf77294bf90e464a64affbc
PR preprocessor/79214 -  -Wno-system-header defeats strncat buffer overflow warnings
PR middle-end/79222 - missing -Wstringop-overflow= on a stpcpy overflow
PR middle-end/79223 - missing -Wstringop-overflow on a memmove overflow

gcc/ChangeLog:

PR preprocessor/79214
PR middle-end/79222
PR middle-end/79223
* builtins.c (check_sizes): Add inlinining context and issue
warnings even when -Wno-system-headers is set.
(check_strncat_sizes): Same.
(expand_builtin_strncat): Same.
(expand_builtin_memmove): New function.
(expand_builtin_stpncpy): Same.
(expand_builtin): Handle memmove and stpncpy.

gcc/testsuite/ChangeLog:

PR preprocessor/79214
PR middle-end/79222
PR middle-end/79223
* gcc.dg/pr79214.c: New test.
* gcc.dg/pr79214.h: New test header.
* gcc.dg/pr79222.c: New test.
* gcc.dg/pr79223.c: New test.
* gcc.dg/pr78138.c: Adjust.
* gfortran.dg/unconstrained_commons.f: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247618 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/builtins.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr78138.c
gcc/testsuite/gcc.dg/pr79214.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr79214.h [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr79222.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr79223.c [new file with mode: 0644]
gcc/testsuite/gfortran.dg/unconstrained_commons.f