aboutsummaryrefslogtreecommitdiffstats
path: root/testing/libc++/avoid-strtoll_l.patch
diff options
context:
space:
mode:
authorShiz <hi@shiz.me>2017-05-14 22:53:53 +0000
committerJakub Jirutka <jakub@jirutka.cz>2017-05-16 18:17:06 +0200
commit6b711aaa81a9f16d46f61847e8d53f292c7b15a8 (patch)
treec7a473d833b27dac12e9d671268c3e61703012f8 /testing/libc++/avoid-strtoll_l.patch
parent8cb3112594f10a8cee5b5412c28a846acb63167f (diff)
downloadaports-6b711aaa81a9f16d46f61847e8d53f292c7b15a8.tar.bz2
aports-6b711aaa81a9f16d46f61847e8d53f292c7b15a8.tar.xz
testing/libc++: new aport
http://libcxx.llvm.org/ A new implementation of the C++ standard library, targeting C++11.
Diffstat (limited to 'testing/libc++/avoid-strtoll_l.patch')
-rw-r--r--testing/libc++/avoid-strtoll_l.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/testing/libc++/avoid-strtoll_l.patch b/testing/libc++/avoid-strtoll_l.patch
new file mode 100644
index 0000000000..7af37d0e0e
--- /dev/null
+++ b/testing/libc++/avoid-strtoll_l.patch
@@ -0,0 +1,23 @@
+musl doesn't support strtoll_l(), so replace it with a simple strtoll() call.
+
+diff -Nru a/libcxx/include/locale b/libcxx/include/locale
+--- a/libcxx/include/locale 2017-01-04 23:56:00.000000000 +0000
++++ b/libcxx/include/locale 2017-05-14 23:43:07.867204323 +0000
+@@ -695,7 +695,7 @@
+ typename remove_reference<decltype(errno)>::type __save_errno = errno;
+ errno = 0;
+ char *__p2;
+- long long __ll = strtoll_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE);
++ long long __ll = strtoll(__a, &__p2, __base);
+ typename remove_reference<decltype(errno)>::type __current_errno = errno;
+ if (__current_errno == 0)
+ errno = __save_errno;
+@@ -735,7 +735,7 @@
+ typename remove_reference<decltype(errno)>::type __save_errno = errno;
+ errno = 0;
+ char *__p2;
+- unsigned long long __ll = strtoull_l(__a, &__p2, __base, _LIBCPP_GET_C_LOCALE);
++ unsigned long long __ll = strtoull(__a, &__p2, __base);
+ typename remove_reference<decltype(errno)>::type __current_errno = errno;
+ if (__current_errno == 0)
+ errno = __save_errno;