Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions Base/Base.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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 <Windows.h>
#endif
#include "Types/view.hpp"
32 changes: 16 additions & 16 deletions Base/Context.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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__)
Expand All @@ -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__)
Expand All @@ -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)
Expand Down
10 changes: 5 additions & 5 deletions Base/Macros.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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 <cassert>

// See https://stackoverflow.com/a/49079078.
#if COMPILER == COMPILER_CLANG
#if __has_builtin(__builtin_debugtrap)
#define BREAKPOINT() __builtin_debugtrap()
Expand All @@ -24,7 +27,4 @@
#endif

#define ASSERT(expression) assert(expression)
#else
#define ASSERT(expression)
#define BREAKPOINT()
#endif
2 changes: 0 additions & 2 deletions Base/Types/base_sequence.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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];
Expand Down