https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65108
--- Comment #1 from Andy Wingo <wingo at igalia dot com> --- I mentioned this bug to Dodji Seketeli who said that this was probably an instance of early constant folding causing Foo::one to appear unused. On Dodji's suggestion I recompiled with -fno-eliminate-unused-debug-types and indeed Foo::one was written out, so that would seem to indicate early folding is the culprit.