diff options
author | Martin Sebor <msebor@redhat.com> | 2018-09-14 18:23:58 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2018-09-14 12:23:58 -0600 |
commit | e08341bb0e026ef019a3b201ea26ecdc4a9233ea (patch) | |
tree | 85a654a129f0c74bd85567d343cb3ba067c3c9c4 /gcc/gimple-fold.h | |
parent | dd98382b8b016c9af092f77b47dfb7eaf35db426 (diff) | |
download | gcc-e08341bb0e026ef019a3b201ea26ecdc4a9233ea.zip gcc-e08341bb0e026ef019a3b201ea26ecdc4a9233ea.tar.gz gcc-e08341bb0e026ef019a3b201ea26ecdc4a9233ea.tar.bz2 |
builtins.c (unterminated_array): New.
* builtins.c (unterminated_array): New.
(expand_builtin_strcpy): Adjust.
(expand_builtin_strcpy_args): Detect unterminated arrays.
* gimple-fold.c (get_maxval_strlen): Add argument. Detect
unterminated arrays.
* gimple-fold.h (get_maxval_strlen): Add argument.
(gimple_fold_builtin_strcpy): Detec unterminated arrays.
* gimple-fold.c (get_range_strlen): Add argument.
(get_maxval_strlen): Adjust.
* gimple-fold.h (get_range_strlen): Add argument.
* gcc.dg/warn-strcpy-no-nul.c: New test.
Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r264327
Diffstat (limited to 'gcc/gimple-fold.h')
-rw-r--r-- | gcc/gimple-fold.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/gimple-fold.h b/gcc/gimple-fold.h index fcb0d31..26e2727 100644 --- a/gcc/gimple-fold.h +++ b/gcc/gimple-fold.h @@ -25,8 +25,9 @@ along with GCC; see the file COPYING3. If not see extern tree create_tmp_reg_or_ssa_name (tree, gimple *stmt = NULL); extern tree canonicalize_constructor_val (tree, tree); extern tree get_symbol_constant_value (tree); -extern bool get_range_strlen (tree, tree[2], unsigned = 1, bool = false); -extern tree get_maxval_strlen (tree, int); +extern bool get_range_strlen (tree, tree[2], unsigned = 1, + bool = false, tree * = NULL); +extern tree get_maxval_strlen (tree, int, tree * = NULL); extern void gimplify_and_update_call_from_tree (gimple_stmt_iterator *, tree); extern bool fold_stmt (gimple_stmt_iterator *); extern bool fold_stmt (gimple_stmt_iterator *, tree (*) (tree)); |