https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102681
--- Comment #3 from Martin Sebor <msebor at gcc dot gnu.org> --- Simply initializing the variable as in the patch below avoids the warning. The control flow in the code is sufficiently opaque to make it worthwhile from a readability point irrespective of whether or not the variable can, in fact, be used uninitialized. index e50d3fc3b62..c7f0a405ff6 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -199,7 +199,7 @@ stack_region_maybe_used_p (poly_uint64 lower_bound, poly_uint64 upper_bound, static void mark_stack_region_used (poly_uint64 lower_bound, poly_uint64 upper_bound) { - unsigned HOST_WIDE_INT const_lower, const_upper; + unsigned HOST_WIDE_INT const_lower, const_upper = 0; const_lower = constant_lower_bound (lower_bound); if (upper_bound.is_constant (&const_upper)) for (unsigned HOST_WIDE_INT i = const_lower; i < const_upper; ++i)