mirror of
https://github.com/mamedev/mame.git
synced 2024-11-16 07:48:32 +01:00
Adjust toolchain versions for triggering workarounds:
* Make netlist/plib noexcept issue workaround trigger for clang 8 or Apple clang 11.0.0. * Disable lifetime DSE optimisation for GCC 10.2 (this may be an issue in GNU libstdc++ rather than GCC itself - using compiler version as a proxy for standard library version is bad, but it's the path of least resistance for now).
This commit is contained in:
parent
6c474b6699
commit
ea1e51636c
3 changed files with 7 additions and 7 deletions
6
makefile
6
makefile
|
@ -1000,7 +1000,7 @@ CLANG_VERSION := $(shell $(TOOLCHAIN)$(subst @,,$(CC)) --version 2> /dev/null
|
|||
PYTHON_AVAILABLE := $(shell $(PYTHON) --version > /dev/null 2>&1 && echo python)
|
||||
GIT_AVAILABLE := $(shell git --version > /dev/null 2>&1 && echo git)
|
||||
else
|
||||
GCC_VERSION := $(shell $(TOOLCHAIN)$(subst @,,$(CC)) -dumpversion 2> NUL)
|
||||
GCC_VERSION := $(shell $(TOOLCHAIN)$(subst @,,$(CC)) -dumpfullversion 2> NUL)
|
||||
CLANG_VERSION := $(shell $(TOOLCHAIN)$(subst @,,$(CC)) --version 2> NUL| head -n 1 | grep clang | sed "s/^.*[^0-9]\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$$/\1/" | head -n 1)
|
||||
PYTHON_AVAILABLE := $(shell $(PYTHON) --version > NUL 2>&1 && echo python)
|
||||
GIT_AVAILABLE := $(shell git --version > NUL 2>&1 && echo git)
|
||||
|
@ -1023,9 +1023,9 @@ endif
|
|||
endif
|
||||
else
|
||||
ifdef OVERRIDE_CC
|
||||
GCC_VERSION := $(shell $(TOOLCHAIN)$(subst @,,$(OVERRIDE_CC)) -dumpversion 2> /dev/null)
|
||||
GCC_VERSION := $(shell $(TOOLCHAIN)$(subst @,,$(OVERRIDE_CC)) -dumpfullversion 2> /dev/null)
|
||||
else
|
||||
GCC_VERSION := $(shell $(TOOLCHAIN)$(subst @,,$(CC)) -dumpversion 2> /dev/null)
|
||||
GCC_VERSION := $(shell $(TOOLCHAIN)$(subst @,,$(CC)) -dumpfullversion 2> /dev/null)
|
||||
endif
|
||||
ifeq ($(findstring emcc,$(CC)),emcc)
|
||||
CLANG_VERSION := $(shell $(TOOLCHAIN)$(subst @,,$(CC)) -v 2>&1 >/dev/null | grep 'clang version' | head -n 1 | grep -e 'version [0-9]\+\.[0-9]\+\(\.[0-9]\+\)\?' -o | grep -e '[0-9]\+\.[0-9]\+\(\.[0-9]\+\)\?' -o | tail -n 1)
|
||||
|
|
|
@ -1085,9 +1085,9 @@ end
|
|||
"-Wno-array-bounds",
|
||||
"-Wno-error=attributes", -- GCC fails to recognize some uses of [[maybe_unused]]
|
||||
}
|
||||
if version < 100000 then
|
||||
if version < 100300 then
|
||||
buildoptions_cpp {
|
||||
"-flifetime-dse=1", -- GCC 9 takes issue with Sol's get<std::optional<T> >() otherwise
|
||||
"-flifetime-dse=1", -- GCC 10.2 and earlier take issue with Sol's get<std::optional<T> >() otherwise - possibly an issue with libstdc++ itself
|
||||
}
|
||||
end
|
||||
if version >= 80000 then
|
||||
|
|
|
@ -227,9 +227,9 @@ namespace plib
|
|||
using mingw = std::integral_constant<bool, false>;
|
||||
#endif
|
||||
#if defined(__APPLE__)
|
||||
using clang_noexcept_issue = std::integral_constant<bool, version::vmajor::value < 11>;
|
||||
using clang_noexcept_issue = std::integral_constant<bool, (type::value == ci_compiler::CLANG) && (version::vmajor::full < 110003)>;
|
||||
#else
|
||||
using clang_noexcept_issue = std::integral_constant<bool, (type::value == ci_compiler::CLANG) && (version::vmajor::value < 8)>;
|
||||
using clang_noexcept_issue = std::integral_constant<bool, (type::value == ci_compiler::CLANG) && (version::vmajor::value < 9)>;
|
||||
#endif
|
||||
#if defined(__ia64__)
|
||||
using abi_vtable_function_descriptors = std::integral_constant<bool, true>;
|
||||
|
|
Loading…
Reference in a new issue