From: David Malcolm Date: Wed, 29 Mar 2023 18:16:46 +0000 (-0400) Subject: analyzer: better fix for -Wanalyzer-use-of-uninitialized-value [PR106573] X-Git-Tag: releases/gcc-12.3.0~161 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c63e5a234d0193e1f41024cf0eee840998e04c7f;p=thirdparty%2Fgcc.git analyzer: better fix for -Wanalyzer-use-of-uninitialized-value [PR106573] Cherrypicked from 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 --- diff --git a/gcc/analyzer/region-model.cc b/gcc/analyzer/region-model.cc index f4c05baf60e8..bfee042c08fb 100644 --- a/gcc/analyzer/region-model.cc +++ b/gcc/analyzer/region-model.cc @@ -1359,8 +1359,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 @@ -1477,7 +1476,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; } else if (is_named_call_p (callee_fndecl, "malloc", call, 1))