builtins.def (BUILT_IN_STPNCPY_CHK): New definition.
commitf3fc9b804a4e552a173e2d4071b2adec33178161
authorRomain Geissler <romain.geissler@gmail.com>
Thu, 15 Dec 2011 17:26:10 +0000 (15 17:26 +0000)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 15 Dec 2011 17:26:10 +0000 (15 18:26 +0100)
treeb55d26e2a650daf51259ff6f927c4f13e216f931
parentee7a54c550753ba90949d1fea472e0586b6cd954
builtins.def (BUILT_IN_STPNCPY_CHK): New definition.

* builtins.def (BUILT_IN_STPNCPY_CHK): New definition.
* builtins.c (expand_builtin, fold_builtin_4, maybe_emit_chk_warning):
Add BUILT_IN_STPNCPY_CHK case.
* gimple-fold.c (gimple_fold_builtin): Likewise.
* tree-object-size.c (pass_through_call): Likewise.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
call_may_clobber_ref_p_1): Likewise.
* tree-ssa-structalias.c (find_func_aliases_for_builtin_call,
find_func_clobbers): Likewise.
* tree.h (fold_builtin_strncpy_chk): Rename to fold_builtin_stxncpy_chk
* builtins.c (fold_builtin_strncpy_chk): Likewise.
Rewrite stpncpy_chk calls to strncpy_chk calls if returned value is
ignored.

* gcc.c-torture/execute/builtins/chk.h (stpncpy, stpncpy_disallowed):
New definitions.
* gcc.c-torture/execute/builtins/lib/chk.c (stpncpy_disallowed):
Likewise.
(stpncpy, __stpncpy_chk): New functions.
* gcc.c-torture/execute/builtins/stpncpy-chk-lib.c: New file.
* gcc.c-torture/execute/builtins/stpncpy-chk.c: Likewise.

From-SVN: r182378
13 files changed:
gcc/ChangeLog
gcc/builtins.c
gcc/builtins.def
gcc/gimple-fold.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/builtins/chk.h
gcc/testsuite/gcc.c-torture/execute/builtins/lib/chk.c
gcc/testsuite/gcc.c-torture/execute/builtins/stpncpy-chk-lib.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/builtins/stpncpy-chk.c [new file with mode: 0644]
gcc/tree-object-size.c
gcc/tree-ssa-alias.c
gcc/tree-ssa-structalias.c
gcc/tree.h