https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88124
--- Comment #7 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> --- (In reply to Thomas Koenig from comment #6) > The type has SEQUENCE, so I think this should actually work... or did I miss > something here? It does seem to be not well defined. The preprocessor will substitute the include text into multiple places and these multiple type declarations must be in separate name spaces because they are not use associated like in a module. My guess is the names are being prefixed differently and there is no way the linker will know they are intended to be the same entity. I have not looked at the symbols in the executable yet.