summaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2016-10-13 14:05:42 +0000
committerJan Beich <jbeich@FreeBSD.org>2016-10-13 14:05:42 +0000
commit188b42dc302381ea4371c1be6d5bb13632ed66ec (patch)
tree9b2c40ec5c86a1cd41c5e7b44d8495fbbece21e2 /emulators
parentsysutils/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.h34
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 {
+