// SPDX-License-Identifier: GPL-2.0 #include "globals.h" #include static std::vector global_objects; void register_global_internal(GlobalObjectBase *o) { global_objects.push_back(o); } void free_globals() { // We free the objects by hand, so that we can free them in reverse // order of creation. AFAIK, order-of-destruction is implementantion-defined // for std::vector<>. for (auto it = global_objects.rbegin(); it != global_objects.rend(); ++it) delete *it; global_objects.clear(); }