mirror of
https://github.com/QuasarApp/backward-cpp.git
synced 2025-05-18 04:19:40 +00:00
Tests executables made several assumptions that are only valid on some system/compiler: * That the main function is found even in a shared library (not true on windows). To fix this, test_main is now an ojbect library * That the extern test_registry in test.cpp will be initialized before any actual test uses it. This was either a lucky coincidence on linux, or being related to the variable being initialized in a shared library. The variable is now initialized by a function, guarantaaing initialization order. * That test.hpp is only inluded once per binary, which was only true because it was once part of a DLL, once the executable, hiding ODR violations. As now it's linked twice within the same binary, some functions had to be made inline. * not is not a valid C++ operator, replaced all occurences with !