[*] msvc stl conflicts with its own compiler flags and gtest

known issue, rejected as invalid, fuck em
This commit is contained in:
Reece Wilson 2022-12-30 16:02:44 +00:00
parent b16f8613d8
commit 5f81b54fe1

View File

@ -10,6 +10,46 @@
#include <AuroraEnvironment.h> #include <AuroraEnvironment.h>
#include <AuroraTypes.hpp> #include <AuroraTypes.hpp>
// BUG: https://developercommunity.visualstudio.com/t/lambdas-always-have-debug-information-in-release-m/1215001
// Jonathan Caves [MSFT] (-2 downvotes)
// Another name to add to the dumb twats of Microsoft's STL team who to blame for c++s terribleness
// Apparently somehow this one fuctional type overrides compiler flags, resulting in ".?AV<lambda_1>@?" RTTI strings populating RTTI-less binaries.
// Imagine all your work trying to mask typenames, stripping RTTI, optimizing with constexpr, abusing function name fuckery... just for lambda RTTIs to burst onto the scene after being told to explicitly fuck off.
// Average "Specialties: Compilers, computer language design, deep problem analysis" solver (totally not a typical mitwit old-cunt with decades of C++ "experience" fucking shit up in a notable company)
// t. RTTI-understander
//
// (hard to believe this is the same company that hosts Raymond Chen's blog posts in which they state to always investigate the most idiotic [bug/security] complaints because it'll be your ass on the line - even when faced with morons trying to memcpy executable stubs around)
#if defined(AURORA_COMPILER_MSVC)
#if !defined(_HAS_STATIC_RTTI)
#define _HAS_STATIC_RTTI_OLD 1
#define _HAS_STATIC_RTTI 0
#else
#if _HAS_STATIC_RTTI == 0
#define _HAS_STATIC_RTTI_OLD 0
#else
#define _HAS_STATIC_RTTI_OLD 1
#endif
#undef _HAS_STATIC_RTTI
#define _HAS_STATIC_RTTI 0
#endif
#define _HAS_STATIC_RTTI 0
#if defined(_CPPRTTI)
#define __CPPRTTI
#undef _CPPRTTI
#endif
#include <functional>
#undef _HAS_STATIC_RTTI
#define _HAS_STATIC_RTTI _HAS_STATIC_RTTI_OLD
#if _HAS_STATIC_RTTI == 1 && defined(__CPPRTTI)
#define _CPPRTTI
#endif
#endif
#if defined(_AUHAS_AURORAENUM) #if defined(_AUHAS_AURORAENUM)
#include <AuroraForEach.hpp> #include <AuroraForEach.hpp>
#include <AuroraInterfaces.hpp> #include <AuroraInterfaces.hpp>