https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89727
--- Comment #2 from Klaus Leppkes <leppkes at stce dot rwth-aachen.de> --- So from Richard Biener's post (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89727#c1), it looks like _ZTWN1B1aE [ $>c++filt "_ZTWN1B1aE" TLS wrapper function for B::a ] is the correct accessor (which internally will call the initializer) and a.i is a direct reference without the wrapper? So this looks a frontend problem, right?