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; // 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(static_cast(&o)), addr, static_cast(&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(&d) != addr) osd_printf_error("Error testing delegate this pointer adjustment for incomplete class %p -> %p (expected %p)\n", static_cast(&d), addr, static_cast(static_cast(&d))); #endif // defined(_MSC_VER) && !defined(__clang__) -#endif // !defined(_LIBCPP_VERSION) || (_LIBCPP_VERSION >= 7000) }