516 |
m4_undivert_all (); |
m4_undivert_all (); |
517 |
} |
} |
518 |
|
|
519 |
m4_module_unload_all (); |
{ |
520 |
|
struct obstack *obs = 0; |
521 |
/* The remaining cleanup functions systematically free all of the |
m4_module_close_all (obs); |
522 |
memory we still have pointers to. By definition, if there is |
} |
|
anything left when we're done: it was caused by a memory leak. |
|
|
Strictly, we don't need to do this, but it makes leak detection |
|
|
a whole lot easier! */ |
|
|
m4_symtab_exit (); |
|
|
m4_output_exit (); |
|
|
m4_input_exit (); |
|
|
m4_debug_exit (); |
|
|
|
|
|
#ifdef USE_STACKOVF |
|
|
stackovf_exit (); |
|
|
#endif |
|
523 |
|
|
524 |
exit (exit_status); |
exit (exit_status); |
525 |
} |
} |