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