Next: Invoking the garbage collector, Previous: GGC Roots, Up: Type Information
只要向之前没有GTY
标记的源文件里添加GTY
标记,或者创建一个新的包含GTY
标记的源文件,那么就有三件事情需要做:
target_gtfiles
中。
GTFILES
变量中。
gtfiles
变量中。对于C,文件为c-config-lang.in。
gtfiles
变量中。
open_base_file
里的ifiles
中。
对于不是头文件的源文件,类型机构将会生成一个头文件,并且该头文件应该被包含在所修改的源文件中。文件名为 gt-path.h,其中path是相对于gcc目录的路径名,并且由-来替换斜线。例如,要被包含在cp/parser.c中的头文件命名为gt-cp-parser.c。生成的头文件应该被包含在源文件所有其它内容之后。不要忘记将该文件在Makefile中作为一个依赖条件!
对于语言前端,还有另一个文件需要在某处被包含。其为gtype-lang.h,其中lang是语言子目录的名字。
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.