Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu.
Pushed to trunk as r13-2053-gca123e019bb92f.

gcc/analyzer/ChangeLog:
        PR analyzer/106573
        * region-model.cc (region_model::on_call_pre): Use check_call_args
        when ensuring that we call get_arg_svalue on all args.  Remove
        redundant call from handling for stdio builtins.

Signed-off-by: David Malcolm <dmalc...@redhat.com>
---
 gcc/analyzer/region-model.cc | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/gcc/analyzer/region-model.cc b/gcc/analyzer/region-model.cc
index 7e7077696f7..a58904c06a8 100644
--- a/gcc/analyzer/region-model.cc
+++ b/gcc/analyzer/region-model.cc
@@ -1768,8 +1768,7 @@ region_model::on_call_pre (const gcall *call, 
region_model_context *ctxt,
      duplicates if any of the handling below also looks up the svalues,
      but the deduplication code should deal with that.  */
   if (ctxt)
-    for (unsigned arg_idx = 0; arg_idx < cd.num_args (); arg_idx++)
-      cd.get_arg_svalue (arg_idx);
+    check_call_args (cd);
 
   /* Some of the cases below update the lhs of the call based on the
      return value, but not all.  Provide a default value, which may
@@ -1889,7 +1888,6 @@ region_model::on_call_pre (const gcall *call, 
region_model_context *ctxt,
            /* These stdio builtins have external effects that are out
               of scope for the analyzer: we only want to model the effects
               on the return value.  */
-           check_call_args (cd);
            break;
 
          case BUILT_IN_VA_START:
-- 
2.26.3

Reply via email to