aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2022-09-13 08:46:51 +0200
committerRichard Biener <rguenther@suse.de>2022-09-13 10:52:17 +0200
commitad08894ea02b6308c4ed4e8cd8e6a564c2f581e8 (patch)
tree273dc9298f804302c1c906e67a5afa0c6a9ba83b
parent721c0fb3aca31d3bf8ad6e929eab32e29a427e60 (diff)
downloadgcc-ad08894ea02b6308c4ed4e8cd8e6a564c2f581e8.zip
gcc-ad08894ea02b6308c4ed4e8cd8e6a564c2f581e8.tar.gz
gcc-ad08894ea02b6308c4ed4e8cd8e6a564c2f581e8.tar.bz2
tree-optimization/106913 - ICE with -da and -Wuninitialized
The following avoids setting and not clearing an auto_bb_flag on EXIT_BLOCK which we don't verify for such stale flags but dump_bb_info still asserts on them. PR tree-optimization/106913 * tree-ssa-uninit.cc (warn_uninitialized_vars): Do not set ft_reachable on EXIT_BLOCK.
-rw-r--r--gcc/tree-ssa-uninit.cc8
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/tree-ssa-uninit.cc b/gcc/tree-ssa-uninit.cc
index 4a1c333..eae29f8 100644
--- a/gcc/tree-ssa-uninit.cc
+++ b/gcc/tree-ssa-uninit.cc
@@ -1013,11 +1013,9 @@ warn_uninitialized_vars (bool wmaybe_uninit)
if (ee)
bb = ee->dest;
else
- {
- bb = get_immediate_dominator (CDI_POST_DOMINATORS, bb);
- if (!bb || bb->index == EXIT_BLOCK)
- break;
- }
+ bb = get_immediate_dominator (CDI_POST_DOMINATORS, bb);
+ if (!bb || bb->index == EXIT_BLOCK)
+ break;
}
FOR_EACH_BB_FN (bb, cfun)