re PR tree-optimization/82945 (add warning for passing non-strings to functions that...
authorMartin Sebor <msebor@redhat.com>
Tue, 21 Nov 2017 21:44:26 +0000 (21:44 +0000)
committerMartin Sebor <msebor@gcc.gnu.org>
Tue, 21 Nov 2017 21:44:26 +0000 (14:44 -0700)
gcc/ChangeLog:

PR tree-optimization/82945
* calls.h (warn_nonstring_bound): Remove unused function.

From-SVN: r255036

gcc/ChangeLog
gcc/calls.c

index 2a4e92fb75176afe270b02663fb14ee16bfb80c1..60af13ab3507dedb8b987a47da61a84bc59af338 100644 (file)
@@ -1,3 +1,8 @@
+2017-11-21  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/82945
+       * calls.h (warn_nonstring_bound): Remove unused function.
+
 2017-11-21  Martin Sebor  <msebor@redhat.com>
 
        PR tree-optimization/82945
index cae543c481f70a8666574952905b4d7fad35034c..64f9f50876b8e9fba861a49ffa926a912299a7ce 100644 (file)
@@ -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.  */