https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65928
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> --- The code is invalid. No amount of fiddling about with headers will change that. Even if you manage to find some combination that works today, it might not work tomorrow or with a different compiler. Fix the code.