Refactor utility/decomp headers (#318)

This commit is contained in:
Christian Semmler
2023-12-11 16:33:46 -05:00
committed by GitHub
parent 3b30607337
commit a7194266b3
21 changed files with 42 additions and 32 deletions

28
util/compat.h Normal file
View File

@@ -0,0 +1,28 @@
#ifndef COMPAT_H
#define COMPAT_H
// Various macros to enable compiling with other/newer compilers.
// Use `COMPAT_CONST` where something ought to be 'const', and a newer compiler would complain if it
// wasn't, but we know it isn't 'const' in the original code.
#ifdef __MINGW32__
#define COMPAT_CONST const
#else
#define COMPAT_CONST
#endif
// Disable "identifier was truncated to '255' characters" warning.
// Impossible to avoid this if using STL map or set.
// This removes most (but not all) occurrences of the warning.
#pragma warning(disable : 4786)
#define MSVC420_VERSION 1020
// We use `override` so newer compilers can tell us our vtables are valid,
// however this keyword was added in C++11, so we define it as empty for
// compatibility with older compilers.
#if defined(_MSC_VER) && _MSC_VER <= 1200 // 1200 corresponds to VC6.0 but "override" was probably added even later
#define override
#endif
#endif // COMPAT_H