// PR tree-optimization/80635 // { dg-do compile { target c++17 } } // { dg-options "-O2 -Wmaybe-uninitialized" } #include extern int get (); extern void set (int); struct A { A () : m (get ()) {} ~A () { set (m); } // { dg-bogus "may be used uninitialized in this function" } int m; }; struct B { B (); ~B (); }; void func () { std::optional maybe_a; std::optional maybe_b; maybe_a.emplace (); maybe_b.emplace (); }