https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63660
--- Comment #3 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- (In reply to Edward-san from comment #2) > Isn't it possible to bailout if the limit is reached? I guess the analysis is trying to prove that the variable is indeed initialized (or that it is never used uninitialized). It bails out trying to prove that, thus the warning. The warning code could be conservative and never warn if the limit is reached, but then we will have the other problem: false-negatives. A way to advance with this (if you want to help) is to check which limit is actually hit by your code. Then see by how much you would need to change the limit to warn (by for example adding a --param to control it). Then, with this information at hand, the GCC maintainers can decide whether to increase the limit a bit or perhaps to never warn if the limit is hit (people that want all potential warnings not matter the compile-time cost can use the --param for a deeper analysis).