summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2023-03-27 03:01:04 +1100
committer Vas Crabb <vas@vastheman.com>2023-03-27 03:01:04 +1100
commitf0924e31d4caeb1e874aab95f4d06f7bdc0f8c3b (patch)
tree0e0a7d98ed73f56c65425fd771d0398626eb0d71
parent8ae9024b19e458c9362dd2a6c22f338d7990e750 (diff)
Drop support for libc++ 6 altogether - it's missing std::unordered_map::extract.
-rw-r--r--docs/source/initialsetup/compilingmame.rst5
-rw-r--r--src/emu/validity.cpp4
2 files changed, 4 insertions, 5 deletions
diff --git a/docs/source/initialsetup/compilingmame.rst b/docs/source/initialsetup/compilingmame.rst
index ffe9be349cd..b61b3ca6335 100644
--- a/docs/source/initialsetup/compilingmame.rst
+++ b/docs/source/initialsetup/compilingmame.rst
@@ -10,7 +10,10 @@ All Platforms
* To compile MAME, you need a C++17 compiler and runtime library. We
support building with GCC version 7.2 or later and clang version 6 or
- later. MAME should run with GNU libstdc++ version 7.2 or later.
+ later. MAME should run with GNU libstdc++ version 7.2 or later or
+ libc++ version 7 or later. The initial release of any major version
+ of GCC should be avoided. For example, if you want to compile MAME
+ with GCC 10, you should use version 10.3 or later.
* Whenever you are changing build parameters, (for example changing
optimisation settings, or adding tools to the compile list), or system
diff --git a/src/emu/validity.cpp b/src/emu/validity.cpp
index 9f1165efeb0..6b44a324ade 100644
--- a/src/emu/validity.cpp
+++ b/src/emu/validity.cpp
@@ -51,12 +51,10 @@ using test_delegate = delegate<char (void const *&)>;
// type
//-------------------------------------------------
-#if !defined(_LIBCPP_VERSION) || (_LIBCPP_VERSION >= 7000)
test_delegate make_diamond_class_delegate(char (diamond_inheritance::*func)(void const *&), diamond_inheritance *obj)
{
return test_delegate(func, obj);
}
-#endif // !defined(_LIBCPP_VERSION) || (_LIBCPP_VERSION >= 7000)
//-------------------------------------------------
@@ -1488,7 +1486,6 @@ void validate_delegates_mfp()
if (&o != addr)
osd_printf_error("Error testing delegate this pointer adjustment for virtual member function through base class pointer %p -> %p (expected %p)\n", static_cast<void const *>(static_cast<base_b *>(&o)), addr, static_cast<void const *>(&o));
-#if !defined(_LIBCPP_VERSION) || (_LIBCPP_VERSION >= 7000)
// test creating delegates for a forward-declared class
cb1 = make_diamond_class_delegate(&diamond_inheritance::get_derived_a, &d);
cb2 = make_diamond_class_delegate(&diamond_inheritance::get_derived_b, &d);
@@ -1518,7 +1515,6 @@ void validate_delegates_mfp()
if (static_cast<virtual_base *>(&d) != addr)
osd_printf_error("Error testing delegate this pointer adjustment for incomplete class %p -> %p (expected %p)\n", static_cast<void const *>(&d), addr, static_cast<void const *>(static_cast<virtual_base *>(&d)));
#endif // defined(_MSC_VER) && !defined(__clang__)
-#endif // !defined(_LIBCPP_VERSION) || (_LIBCPP_VERSION >= 7000)
}