summaryrefslogtreecommitdiff
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
parent8fd56566520ae93bda64fe335cef9202388c6364 (diff)
fix warnings
-rw-r--r--CMakeLists.txt2
-rw-r--r--app/mac/main.mm2
-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
7 files changed, 20 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index df387fa..22f1ee8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,8 +16,6 @@ target_compile_options(nes_options
INTERFACE
-Wall
-Wextra
- -Wno-changes-meaning # fuck off, gcc
- -Wno-unused-function # fr
-Wnon-virtual-dtor
-Wcast-align
-Wunused
diff --git a/app/mac/main.mm b/app/mac/main.mm
index 55e00b1..8867b5f 100644
--- a/app/mac/main.mm
+++ b/app/mac/main.mm
@@ -3,7 +3,7 @@
#import <Cocoa/Cocoa.h>
-int main(int argc, char** argv)
+int main()
{
auto app = [NSApplication sharedApplication];
[app setActivationPolicy:NSApplicationActivationPolicyRegular];
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)