$target.h vs $target-protos.h

Joseph Myers joseph@codesourcery.com
Mon Feb 19 16:45:00 GMT 2018

On Sun, 18 Feb 2018, Sandra Loosemore wrote:

> Thanks, this makes sense.  I think I could produce a documentation patch that
> explains that the difference is early vs late inclusion, and explains that any
> declarations involving tree or rtx types must go in $target-protos.h because
> those types are not defined when $target.h is included.

That's not the case now for tree or rtx types, since they're (forward) 
declared in coretypes.h.  It may still be the case for some types, but not 

> So am I right in thinking it is actually not possible to have a .h file for
> internal bits shared between $target.c and the .md files, without hacking e.g.
> genrecog.c which currently emits a fixed set of include directives?

I'm not aware of a way to do that.

Joseph S. Myers

More information about the Gcc mailing list