Sandra Loosemore <[email protected]> writes: > On 10/8/25 21:15, Sam James wrote: >> CCP interacts poorly with -Wmaybe-uninitialized in some cases by assuming a >> value >> which stops us warning about it (false negatives). Inform users about this >> infamous interaction. >> gcc/ChangeLog: >> PR tree-optimization/18501 >> * doc/invoke.texi (-Wmaybe-uninitialized): Mention interaction >> with >> CCP. >> --- >> That works for me. I've checked this in. >> gcc/doc/invoke.texi | 5 ++++- >> 1 file changed, 4 insertions(+), 1 deletion(-) >> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi >> index f93fe43733dc..8802d416b30c 100644 >> --- a/gcc/doc/invoke.texi >> +++ b/gcc/doc/invoke.texi >> @@ -8375,7 +8375,10 @@ known to read the object.) Annotating the function >> with attribute >> the object and avoids the warning (@pxref{Common Function Attributes}). >> These warnings are only possible in optimizing compilation, >> because otherwise >> -GCC does not keep track of the state of variables. >> +GCC does not keep track of the state of variables. On the other hand, >> +@option{-Wmaybe-uninitialized} is known not to warn in many situations >> +(false negatives) due to optimizations taking advantage of undefinedness >> +of uninitialized uses like constant propagation. >> These warnings are made optional because GCC may not be able to >> determine when >> the code is correct in spite of appearing to have an error. Here is one > > I'm sorry, I can't parse this one. Do you maybe mean "optimizations > like constant propagation" instead of "uninitialized uses like > constant propagation"?
Read it as: "optimizations like constant propagation taking advantage of uninitialized uses [of variables]". I'll change it to that if you're fine with that phrasing? > > -Sandra
