diff options
author | Martin Sebor <msebor@redhat.com> | 2017-11-21 21:44:26 +0000 |
---|---|---|
committer | Martin Sebor <msebor@gcc.gnu.org> | 2017-11-21 14:44:26 -0700 |
commit | 6f9b7472a38a355e1e37d0fa35d399e693726559 (patch) | |
tree | 1e8138ec29f2adab2ddeda0913bae95d9c500e20 /gcc/calls.c | |
parent | 866e4d3853ccc0bc61e3764911d2a0f69c281f0c (diff) | |
download | gcc-6f9b7472a38a355e1e37d0fa35d399e693726559.zip gcc-6f9b7472a38a355e1e37d0fa35d399e693726559.tar.gz gcc-6f9b7472a38a355e1e37d0fa35d399e693726559.tar.bz2 |
re PR tree-optimization/82945 (add warning for passing non-strings to functions that expect string arguments)
gcc/ChangeLog:
PR tree-optimization/82945
* calls.h (warn_nonstring_bound): Remove unused function.
From-SVN: r255036
Diffstat (limited to 'gcc/calls.c')
-rw-r--r-- | gcc/calls.c | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/gcc/calls.c b/gcc/calls.c index cae543c..64f9f50 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -1535,58 +1535,6 @@ get_attr_nonstring_decl (tree expr, tree *ref) return NULL_TREE; } -/* Check the size argument to the strncmp built-in to see if it's within - the bounds of the arguments and if not, issue a warning. */ - -static void -warn_nonstring_bound (tree fndecl, tree call) -{ - bool with_bounds = CALL_WITH_BOUNDS_P (call); - - tree cnt = CALL_EXPR_ARG (call, with_bounds ? 4 : 2); - - tree cntrange[2]; - if (!get_size_range (cnt, cntrange)) - return; - - location_t callloc = EXPR_LOCATION (call); - - for (unsigned i = 0; i != 2; ++i) - { - tree str = CALL_EXPR_ARG (call, i + 2 * with_bounds); - - tree sref; - tree decl = get_attr_nonstring_decl (str, &sref); - if (!decl) - continue; - - tree type = TREE_TYPE (decl); - if (TREE_CODE (type) != ARRAY_TYPE) - continue; - - tree dom = TYPE_DOMAIN (type); - if (!dom) - continue; - - tree bound = TYPE_MAX_VALUE (dom); - if (!bound) - continue; - - bool warned = false; - if (tree_int_cst_le (bound, cntrange[0])) - warned = warning_at (callloc, OPT_Wstringop_truncation, - "%qD argument %i declared attribute %<nonstring%> " - "is smaller than the specified bound %E", - fndecl, i, cntrange[0]); - if (warned) - { - location_t loc = DECL_SOURCE_LOCATION (decl); - if (loc != UNKNOWN_LOCATION) - inform (loc, "argument %qD declared here", decl); - } - } -} - /* Warn about passing a non-string array/pointer to a function that expects a nul-terminated string argument. */ |