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 and implement precompiled headers.
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;