http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49406
--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-06-14 18:37:28 UTC --- your program is invalid if a function is declared inline in one translation unit (such as Base.c++) then it must be declared inline in all translation units that refer to it