aboutsummaryrefslogtreecommitdiffstats
path: root/package/libs/libcxx/patches/010-cxx17.patch
diff options
context:
space:
mode:
authorRosen Penev <rosenp@gmail.com>2019-12-31 19:37:35 -0800
committerJo-Philipp Wich <jo@mein.io>2020-01-01 16:59:32 +0100
commit9f7d36d1a995c03a8eaccf10f06f57332bc5c1c0 (patch)
tree24158b4610333700608b0b1ddb37b4e711573ce8 /package/libs/libcxx/patches/010-cxx17.patch
parent1f8ab1c6406451641c05e8cb1e72f7c173a114a3 (diff)
downloadupstream-9f7d36d1a995c03a8eaccf10f06f57332bc5c1c0.tar.gz
upstream-9f7d36d1a995c03a8eaccf10f06f57332bc5c1c0.tar.bz2
upstream-9f7d36d1a995c03a8eaccf10f06f57332bc5c1c0.zip
libcxx: Add size optimizations
Changed standard to 2a. 2a (as well as 17) contain more constexpr functions, which are evaluated at compile time. This saves space. Added --gc-sections. With the CXXABI change, this now makes the package smaller. With these, size went down to 210845 on mipsel_24kc. Also fixed two small compiler warnings. No real change in behavior. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Diffstat (limited to 'package/libs/libcxx/patches/010-cxx17.patch')
-rw-r--r--package/libs/libcxx/patches/010-cxx17.patch14
1 files changed, 14 insertions, 0 deletions
diff --git a/package/libs/libcxx/patches/010-cxx17.patch b/package/libs/libcxx/patches/010-cxx17.patch
new file mode 100644
index 0000000000..c313c47611
--- /dev/null
+++ b/package/libs/libcxx/patches/010-cxx17.patch
@@ -0,0 +1,14 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -524,9 +524,9 @@ remove_flags(-Wno-pedantic -pedantic-errors -pedantic)
+ if (LIBCXX_HAS_MUSL_LIBC OR LIBCXX_TARGETING_CLANG_CL)
+ # musl's pthread implementations uses volatile types in their structs which is
+ # not a constexpr in C++11 but is in C++14, so we use C++14 with musl.
+- set(LIBCXX_STANDARD_VER c++14 CACHE STRING "internal option to change build dialect")
++ set(LIBCXX_STANDARD_VER c++2a CACHE STRING "internal option to change build dialect")
+ else()
+- set(LIBCXX_STANDARD_VER c++11 CACHE STRING "internal option to change build dialect")
++ set(LIBCXX_STANDARD_VER c++2a CACHE STRING "internal option to change build dialect")
+ endif()
+ add_compile_flags_if_supported(-std=${LIBCXX_STANDARD_VER})
+ add_compile_flags_if_supported("/std:${LIBCXX_STANDARD_VER}")