S, in GC-able memory. */ #define ggc_strdup(S) ggc_alloc_string ((S), -1 MEM_STAT_INFO) /* Invoke the collector. Garbage collection occurs only when this function is called, not during allocations. */ enum ggc_collect { GGC_COLLECT_HEURISTIC, GGC_COLLECT_FORCE }; extern void ggc_collect (enum ggc_collect mode = GGC_COLLECT_HEURISTIC); /* Return unused memory pages to the system. */ extern void ggc_trim (void); /* Assume that all GGC memory is reachable and grow the limits for next collection. */ extern void ggc_grow (void); /* Register an additional root table. This can be useful for some plugins. Does nothing if the passed pointer is NULL. */ extern void ggc_register_root_tab (const struct ggc_root_tab *); /* Read objects previously saved with gt_pch_save from F. */ extern void gt_pch_restore (FILE *f);