Previous: GGC Roots, Up: Type Information
Whenever you add GTY
markers to a new source file, 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
config-lang.in. For C, the file is c-config-lang.in.
This list should include all files that have GTY macros in them that
are used in that front end, other than those defined in the previous
list items. For example, it is common for front end writers to use
c-common.c and other files from the C front end, and these
should be included in the gtfiles variable for such front ends.
ifiles
in open_base_file
in gengtype.c.
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 objc/objc-parse.c is called gt-objc-objc-parse.c. The generated header file should be included after everything else in the source file. Don't forget to mention this file as a dependency in the Makefile!
s-gtype
, like this:
gt-path.h : s-gtype ; @true
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. It will need Makefile rules just like the other generated files.