https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65434
Patrick J. LoPresti <lopresti at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lopresti at gmail dot com --- Comment #5 from Patrick J. LoPresti <lopresti at gmail dot com> --- Seems pretty sloppy not to free what you allocate, and then demand all leak checking tools forever work around the sloppiness... Even if you are the runtime. Couldn't you fix this by using the init_priority attribute on emergency_pool? Alternatively, do like any application would and use a Meyers singleton instead of a global variable? Like so: namespace { pool &emergency_pool() { static pool emp; return emp; } } Since destructors always run in the opposite order of construction, you would just need to make sure you obtain the first reference early enough.