On Mon, Mar 20, 2023 at 03:06:31PM -0700, Nathan Chancellor wrote: > It seems like clang takes into account that the branch has no effect on > how uninitialized err is, although it does acknowledge there may be > control flow where err is not used uninitialized because it is not used > at all by stating "when used here". I guess GCC does not make this > distinction and places it under -Wmaybe-uninitialized. I could be > totally wrong though :) In one place we have the comment /* Re-do the plain uninitialized variable check, as optimization may have straightened control flow. Do this first so that we don't accidentally get a "may be" warning when we'd have seen an "is" warning later. */ It seems we miss a similar case here? In any case, please open a PR if you want this fixed. Thanks! Segher