https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89733
--- Comment #6 from Nikita Kniazev <nok.raven at gmail dot com> --- I understand. I though that -Wuninitialized should not produce false positives and that's a main difference between it and -Wno-maybe-uninitialized. The warning does not go away and does not change to -Wno-maybe-uninitialized on higher optimization levels. https://wandbox.org/permlink/xsdWxIEfAHDRcAyl Also the warning message could be better, currently it's not clear that it comes from the implicit constructor. I am fine with fixing my code and closing this issue if you think that there is no problem in GCC. Thanks for spending your time on this.