summaryrefslogtreecommitdiffhomepage
path: root/src/abi.h
diff options
context:
space:
mode:
authorMichael Smith <mikesmiffy128@gmail.com>2024-05-21 21:25:19 +0100
committerMichael Smith <mikesmiffy128@gmail.com>2024-05-21 21:25:19 +0100
commit29389a446859d0d92145ecb395a3b4bff2e0f8be (patch)
tree03286956cc807ddea39573dfb0db5168d4d8140a /src/abi.h
parent2d0ac38fa0e023d29b32a867240df7fc38c5afaa (diff)
Deal with the stupid NVDTOR situation
Bill suggested using abi.h for this. Not sure if it's 100% ideal to need to pull in the whole header for this one macro but it's arguably better than most alternatives and definitely better than just continuing to duplicate it ad nauseam.
Diffstat (limited to 'src/abi.h')
-rw-r--r--src/abi.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/abi.h b/src/abi.h
index 98d972e..f0637e5 100644
--- a/src/abi.h
+++ b/src/abi.h
@@ -1,5 +1,5 @@
/*
- * Copyright © 2023 Michael Smith <mikesmiffy128@gmail.com>
+ * Copyright © 2024 Michael Smith <mikesmiffy128@gmail.com>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -26,6 +26,9 @@
#ifdef _WIN32 // Windows RTTI stuff, obviously only used on Windows.
+// also this: number of virtual destructor entries (used all over the place)
+#define NVDTOR 1
+
// MSVC RTTI is quite a black box, but thankfully there's some useful sources:
// - https://doxygen.reactos.org/d0/dcf/cxx_8h_source.html
// - https://blog.quarkslab.com/visual-c-rtti-inspection.html
@@ -93,6 +96,8 @@ mod const struct msvc_rtti_locator name = { \
#else
+#define NVDTOR 2 // *stupid* ABI, btw
+
struct itanium_type_info_vtable {
void *dtor1, *dtor2;
};