summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorHannes Schulze <haschu0103@outlook.de>2025-02-07 12:32:16 +0100
committerHannes Schulze <haschu0103@outlook.de>2025-02-07 12:32:16 +0100
commite39508e6f2bac8ae171b496bc3ece7eaa2e63114 (patch)
treea6fccec79819e09aab989a49e1e53fc7cb4ea86e /lib
parent8fd56566520ae93bda64fe335cef9202388c6364 (diff)
fix warnings
Diffstat (limited to 'lib')
-rw-r--r--lib/CMakeLists.txt1
-rw-r--r--lib/nes/common/containers/box.hh1
-rw-r--r--lib/nes/common/debug.hh4
-rw-r--r--lib/nes/common/utils.hh13
-rw-r--r--lib/nes/sys/cpu.hh3
5 files changed, 19 insertions, 3 deletions
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 5dde4fd..3cf8a9b 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -11,5 +11,6 @@ endif()
if(NES_ENABLE_SNAPSHOTS)
target_compile_definitions(nes PUBLIC NES_ENABLE_SNAPSHOTS)
endif()
+target_compile_definitions(nes PUBLIC NES_HAS_STDLIB)
add_subdirectory(nes) \ No newline at end of file
diff --git a/lib/nes/common/containers/box.hh b/lib/nes/common/containers/box.hh
index 82f6448..b34958d 100644
--- a/lib/nes/common/containers/box.hh
+++ b/lib/nes/common/containers/box.hh
@@ -3,7 +3,6 @@
#include "nes/common/types.hh"
#include "nes/common/debug.hh"
#include "nes/common/utils.hh"
-#include <new>
namespace nes
{
diff --git a/lib/nes/common/debug.hh b/lib/nes/common/debug.hh
index 30370e9..a7a0854 100644
--- a/lib/nes/common/debug.hh
+++ b/lib/nes/common/debug.hh
@@ -21,7 +21,11 @@
#else
+#ifdef NES_HAS_STDLIB
#include <cassert>
+#else
+#include "debug/assert.h"
+#endif
#define NES_ASSERT(...) \
assert(__VA_ARGS__)
diff --git a/lib/nes/common/utils.hh b/lib/nes/common/utils.hh
index 460d0d5..9a6194a 100644
--- a/lib/nes/common/utils.hh
+++ b/lib/nes/common/utils.hh
@@ -35,4 +35,15 @@ namespace nes
a = b;
b = tmp;
}
-} // namespace nes \ No newline at end of file
+} // namespace nes
+
+#ifdef NES_HAS_STDLIB
+
+#include <new>
+
+#else
+
+// Placement new is an API-defined operator for some reason!?
+inline void* operator new(decltype(sizeof(int)), void* ptr) { return ptr; }
+
+#endif \ No newline at end of file
diff --git a/lib/nes/sys/cpu.hh b/lib/nes/sys/cpu.hh
index d9d0dd0..8c002ec 100644
--- a/lib/nes/sys/cpu.hh
+++ b/lib/nes/sys/cpu.hh
@@ -293,7 +293,8 @@ namespace nes::sys
#define DEFINE_CYCLE_COUNT(name) \
template<addressing_mode Mode> static auto name##_cycle_count() -> cycle_count;
#define DEFINE_CYCLE_COUNT_INSTANCE(name, mode, value) \
- template<> auto name##_cycle_count<addressing_mode::mode>() -> cycle_count { return cycle_count::from_cpu(value); }
+ template<> \
+ [[maybe_unused]] auto name##_cycle_count<addressing_mode::mode>() -> cycle_count { return cycle_count::from_cpu(value); }
DEFINE_CYCLE_COUNT(jump)
DEFINE_CYCLE_COUNT_INSTANCE(jump, absolute, 3)