From 6ab24ea809555eeb869fe49595f22ed9c8737cc4 Mon Sep 17 00:00:00 2001 From: Martin Sebor Date: Fri, 14 Sep 2018 03:34:19 +0000 Subject: builtins.h (c_srlen): Add argument. * builtins.h (c_srlen): Add argument. * builtins.c (warn_string_no_nul): New function. (c_strlen): Add argument and use it. Update recursive calls. Pass DECL argument to string_constant to get info on non terminated strings. Update *NONSTR as needed. (fold_builtin_strlen): Add argument to calls to c_strlen. Warn for unterminated arrays. (warn_string_no_null): Add prototype. * expr.c (string_constant): Update arguments. Update recursive calls appropriately. Detect missing NUL terminator and outermost declaration its missing in. Improve checks for arrays with nonzero lower bound or elements that are not a single byte. Simplify offset computation. Simplify checks for non-NUL terminated strings. * gimple-fold.c (get_range_strlen): Add argument to c_strlen call. * gimple-ssa-sprintf.c (get_string_length): Remove unnecessary code. * gcc.dg/warn-strlen-no-nul.c: New test. Co-Authored-By: Bernd Edlinger Co-Authored-By: Jeff Law From-SVN: r264302 --- gcc/gimple-fold.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/gimple-fold.c') diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c index 8323051..36a85c7 100644 --- a/gcc/gimple-fold.c +++ b/gcc/gimple-fold.c @@ -1335,7 +1335,7 @@ get_range_strlen (tree arg, tree length[2], bitmap *visited, int type, return false; } else - val = c_strlen (arg, 1, eltsize); + val = c_strlen (arg, 1, NULL, eltsize); if (!val && fuzzy) { -- cgit v1.1