aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2022-08-15 14:47:02 -0400
committerDavid Malcolm <dmalcolm@redhat.com>2022-08-15 14:47:02 -0400
commitca123e019bb92fd1d6909e8da7f53a4f45922526 (patch)
treed693be1d5951c7badfa127b51f11dcac8a3a1af7
parent265cdd067afd56293137ecb3057c5ba28a7c9480 (diff)
downloadgcc-ca123e019bb92fd1d6909e8da7f53a4f45922526.zip
gcc-ca123e019bb92fd1d6909e8da7f53a4f45922526.tar.gz
gcc-ca123e019bb92fd1d6909e8da7f53a4f45922526.tar.bz2
analyzer: better fix for -Wanalyzer-use-of-uninitialized-value [PR106573]
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 <dmalcolm@redhat.com>
-rw-r--r--gcc/analyzer/region-model.cc4
1 files changed, 1 insertions, 3 deletions
diff --git a/gcc/analyzer/region-model.cc b/gcc/analyzer/region-model.cc
index 7e70776..a58904c 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: