https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107140
Bug ID: 107140 Summary: Potential false positive uninitialized variable warning with -Wmaybe-uninitialized Product: gcc Version: 12.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: kip at thevertigo dot com Target Milestone: --- I am aware there have been other related issues that have already been opened. I am not sure if this adds anything new to the discussion, but I have, with some effort, managed to isolate a minimal that reproduces the issue. This code is not meant to be run, but it's merely a heavily butchered minimal to re-create a "'MaximumPriorityQueue' may be used uninitialized" warning. This originates in Test.cpp on L71. Here is the code: https://godbolt.org/z/a17Eoc3f3 This only appears to happen with >= -O2. My guess is this may be a result of a complex interaction with the optimizer and how part of the instantiated template was inlined. I note that if I reorder m_LessThanComparison with m_MinMaxHeap in Test.cpp, the warning is suppressed.