Next: Funding, Previous: Header Dirs, Up: Top
GCC uses some fairly sophisticated memory management techniques, which involve determining information about GCC's data structures from GCC's source code and using this information to perform garbage collection.
A full C parser would be too overcomplicated for this task, so a limited
subset of C is interpreted and special markers are used to determine
what parts of the source to look at. The parser can also detect
simple typedefs of the form typedef struct ID1 *ID2;
and
typedef int ID3;
, and these don't need to be specially marked.
The two forms that do need to be marked are:
struct ID1 GTY(([options])) { [fields] }; typedef struct ID2 GTY(([options])) { [fields] } ID3;