diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2016-10-13 14:05:42 +0000 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2016-10-13 14:05:42 +0000 |
commit | 188b42dc302381ea4371c1be6d5bb13632ed66ec (patch) | |
tree | 9b2c40ec5c86a1cd41c5e7b44d8495fbbece21e2 /emulators | |
parent | sysutils/f3: update 4.0 -> 6.0 (diff) |
emulators/citra: unbreak on < 10.2 after r423781
In file included from externals/dynarmic/src/frontend/disassembler/disassembler_arm.cpp:15:
In file included from externals/dynarmic/src/./frontend/decoder/arm.h:18:
In file included from externals/dynarmic/src/./frontend/decoder/decoder_detail.h:14:
externals/dynarmic/src/./common/mp.h:34:27: fatal error: no template named 'tuple_element_t' in namespace 'std'; did you mean 'tuple_element'?
using type = std::tuple_element_t<ParameterIndex, std::tuple<Args...>>;
~~~~~^~~~~~~~~~~~~~~
tuple_element
/usr/include/c++/v1/__tuple:44:62: note: 'tuple_element' declared here
template <size_t _Ip, class _Tp> class _LIBCPP_TYPE_VIS_ONLY tuple_element;
^
Reported by: pkg-fallout
Notes
Notes:
svn path=/head/; revision=423919
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/citra/files/patch-externals_dynarmic_src_common_mp.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/emulators/citra/files/patch-externals_dynarmic_src_common_mp.h b/emulators/citra/files/patch-externals_dynarmic_src_common_mp.h new file mode 100644 index 000000000000..6e732890460e --- /dev/null +++ b/emulators/citra/files/patch-externals_dynarmic_src_common_mp.h @@ -0,0 +1,34 @@ +std::tuple_element_t appeared in FreeBSD 10.2 (libcxx r202673) but +USES=compiler cannot pull newer C++14-compatible libc++ version. + + In file included from externals/dynarmic/src/frontend/disassembler/disassembler_arm.cpp:15: + In file included from externals/dynarmic/src/./frontend/decoder/arm.h:18: + In file included from externals/dynarmic/src/./frontend/decoder/decoder_detail.h:14: + externals/dynarmic/src/./common/mp.h:34:27: fatal error: no template named 'tuple_element_t' in namespace 'std'; did you mean 'tuple_element'? + using type = std::tuple_element_t<ParameterIndex, std::tuple<Args...>>; + ~~~~~^~~~~~~~~~~~~~~ + tuple_element + /usr/include/c++/v1/__tuple:44:62: note: 'tuple_element' declared here + template <size_t _Ip, class _Tp> class _LIBCPP_TYPE_VIS_ONLY tuple_element; + ^ + +--- externals/dynarmic/src/common/mp.h.orig 2016-09-14 22:03:09 UTC ++++ externals/dynarmic/src/common/mp.h +@@ -9,6 +9,17 @@ + #include <cstddef> + #include <tuple> + ++#ifdef __FreeBSD__ ++#include <osreldate.h> ++# if defined(_LIBCPP_VERSION) && __FreeBSD_version < 1001508 ++// Copied from <tuple> ++namespace std { ++ template <size_t _Ip, class ..._Tp> ++ using tuple_element_t = typename tuple_element <_Ip, _Tp...>::type; ++} ++# endif ++#endif ++ + namespace Dynarmic { + namespace mp { + |