diff --git a/Base/Base.hpp b/Base/Base.hpp index 01c9797..20339a9 100644 --- a/Base/Base.hpp +++ b/Base/Base.hpp @@ -20,8 +20,4 @@ #include "Utilities.hpp" #include "Bit.hpp" #include "Types/sequence.hpp" -#include "Types/view.hpp" - -#if OPERATING_SYSTEM == OPERATING_SYSTEM_WINDOWS - #include -#endif \ No newline at end of file +#include "Types/view.hpp" \ No newline at end of file diff --git a/Base/Context.hpp b/Base/Context.hpp index cd86e88..436ae88 100644 --- a/Base/Context.hpp +++ b/Base/Context.hpp @@ -11,28 +11,18 @@ #define STANDARD_CPP20 202002l #define STANDARD_CPP23 202302l -// See https://sourceforge.net/p/predef/wiki/Compilers. -#define COMPILER_OTHER 0 -#define COMPILER_CLANG 1 -#define COMPILER_GCC 2 -#define COMPILER_MSVC 3 - -// See https://sourceforge.net/p/predef/wiki/OperatingSystems. -#define OPERATING_SYSTEM_OTHER 0 -#define OPERATING_SYSTEM_LINUX 1 -#define OPERATING_SYSTEM_WINDOWS 2 - -// See https://sourceforge.net/p/predef/wiki/Architectures. -#define ARCHITECTURE_OTHER 0 -#define ARCHITECTURE_AMD64 1 -#define ARCHITECTURE_INTEL_X86 2 - #if defined(_MSVC_LANG) #define STANDARD _MSVC_LANG #elif #define STANDARD __cplusplus #endif +// See https://sourceforge.net/p/predef/wiki/Compilers. +#define COMPILER_OTHER 0 +#define COMPILER_CLANG 1 +#define COMPILER_GCC 2 +#define COMPILER_MSVC 3 + #if defined(__clang__) #define COMPILER COMPILER_CLANG #elif defined(__GNUC__) @@ -43,6 +33,11 @@ #define COMPILER COMPILER_OTHER #endif +// See https://sourceforge.net/p/predef/wiki/OperatingSystems. +#define OPERATING_SYSTEM_OTHER 0 +#define OPERATING_SYSTEM_LINUX 1 +#define OPERATING_SYSTEM_WINDOWS 2 + #if defined(__gnu_linux__) #define OPERATING_SYSTEM OPERATING_SYSTEM_LINUX #elif defined(_WIN16) || defined(_WIN32) || defined(_WIN64) || defined(__WIN32__) || defined(__TOS_WIN__) || defined(__WINDOWS__) @@ -51,6 +46,11 @@ #define OPERATING_SYSTEM OPERATING_SYSTEM_OTHER #endif +// See https://sourceforge.net/p/predef/wiki/Architectures. +#define ARCHITECTURE_OTHER 0 +#define ARCHITECTURE_AMD64 1 +#define ARCHITECTURE_INTEL_X86 2 + #if defined(__amd64) || defined(__amd64__) || defined(__x86_64__) || defined(__x86_64) || defined(_M_X64) || defined(_M_AMD64) #define ARCHITECTURE ARCHITECTURE_AMD64 #elif defined(i386) || defined(__i386) || defined(__i386__) || defined(__IA32__) || defined(_M_I86) || defined(_M_IX86) || defined(__X86__) || defined(_X86_) || defined(__THW_INTEL__) || defined(__I86__) || defined(__INTEL__) || defined(__386) diff --git a/Base/Macros.hpp b/Base/Macros.hpp index d8c0b52..0c93292 100644 --- a/Base/Macros.hpp +++ b/Base/Macros.hpp @@ -5,10 +5,13 @@ #define ABORT() std::abort() -// See https://stackoverflow.com/a/49079078. -#if BUILD_MODE == BUILD_MODE_DEBUG +#ifdef NDEBUG + #define ASSERT(expression) + #define BREAKPOINT() +#else #include + // See https://stackoverflow.com/a/49079078. #if COMPILER == COMPILER_CLANG #if __has_builtin(__builtin_debugtrap) #define BREAKPOINT() __builtin_debugtrap() @@ -24,7 +27,4 @@ #endif #define ASSERT(expression) assert(expression) -#else - #define ASSERT(expression) - #define BREAKPOINT() #endif \ No newline at end of file diff --git a/Base/Types/base_sequence.hpp b/Base/Types/base_sequence.hpp index 9d43ebe..f7b415d 100644 --- a/Base/Types/base_sequence.hpp +++ b/Base/Types/base_sequence.hpp @@ -73,14 +73,12 @@ namespace USER_NAMESPACE { } const T& operator[](uint64 index) const { - // TODO: Always allow 0? ASSERT(index < _count); return _data[index]; } T& operator[](uint64 index) { - // TODO: Always allow 0? ASSERT(index < _count); return _data[index];