I have a patch that adds a typedef to aarch64's <cpu>-opts.h.
The typedef is used for a TargetVariable in the .opt file,
which means that it is covered by PCH and so needs to be
visible to gengtype.
<cpu>-opts.h is not included directly in tm.h, but indirectly
by target headers (in this case aarch64.h). There was therefore
nothing that caused it to be added to GTFILES.
gcc/
* Makefile.in (GTFILES): Add OPTIONS_H_EXTRA.
GTFILES = $(CPPLIB_H) $(srcdir)/input.h $(srcdir)/coretypes.h \
$(host_xm_file_list) \
+ $(OPTIONS_H_EXTRA) \
$(tm_file_list) $(HASHTAB_H) $(SPLAY_TREE_H) $(srcdir)/bitmap.h \
$(srcdir)/wide-int.h $(srcdir)/alias.h \
$(srcdir)/coverage.cc $(srcdir)/rtl.h \