Whenever you add GTY
markers to a source file that previously
had none, or create a new source file containing GTY
markers,
there are three things you need to do:
target_gtfiles
in
the appropriate port’s entries in config.gcc.
GTFILES
variable in Makefile.in.
gtfiles
variable defined in the appropriate
config-lang.in.
Headers should appear before non-headers in this list.
gtfiles
variable of all the front ends
that use it.
ifiles
in open_base_file
in gengtype.cc.
For source files that aren’t header files, the machinery will generate a
header file that should be included in the source file you just changed.
The file will be called gt-path.h where path is the
pathname relative to the gcc directory with slashes replaced by
-
, so for example the header file to be included in
cp/parser.cc is called gt-cp-parser.h. The
generated header file should be included after everything else in the
source file.
For language frontends, there is another file that needs to be included somewhere. It will be called gtype-lang.h, where lang is the name of the subdirectory the language is contained in.
Plugins can add additional root tables. Run the gengtype
utility in plugin mode as gengtype -P pluginout.h source-dir
file-list plugin*.c
with your plugin files
plugin*.c using GTY
to generate the pluginout.h file.
The GCC build tree is needed to be present in that mode.