https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64670
--- Comment #11 from Tobias Burnus <burnus at gcc dot gnu.org> --- (In reply to Jason Merrill from comment #10) > Having #pragma implementation in LogListener.cc is sufficient: > > The real-world LogListener.o has (full output as it is short): > ... > > 0000000000000000 V typeinfo for LogListener > So why are you getting an undefined reference? Because log.o has due to the vptr sanitizer: U typeinfo for LogListener