patch: do not try to use std::span, because clang 8 can't

This commit is contained in:
Mikhail Novosyolov 2020-04-04 18:27:04 +03:00
parent 817b8bac55
commit 36d79cc2d9
2 changed files with 24 additions and 0 deletions

View file

@ -86,6 +86,8 @@ Patch1: libreoffice-4.2.5-icu-49.patch
Patch2: libreoffice-6.3.5.2-kde4-detection.patch
# https://github.com/LibreOffice/core/commit/6fbfad6b
Patch3: 6fbfad6b00e8c35346ee59cd32a0d7ccc0d8c19c.patch
# For Clang <9, GCC <10, when building with libstdc++-gcc10
Patch4: span-old-compilers.patch
# ROSA vendor patch
Patch100: libreoffice-4.1-vendor.patch

22
span-old-compilers.patch Normal file
View file

@ -0,0 +1,22 @@
In rosa2016.1, we are building LibreOffice with clang 8 and libstdc++ from GCC 10.
Seems that libstdc++-gcc-10 does have the span header, but clang 8 is not capable of std::span:
"error: no member named 'span' in namespace 'std'"
(I am not sure)
include/o3tl/span.hxx tries to use system <span> when available and uses the built in implementation when it is not available.
This patch tricks the compiler to always use the built in implementation.
TODO: maybe fix libstdc++-gcc10 so that it by default reports that <span> header does not exist.
// mikhailnov, 04.04.2020
--- libreoffice-6.3.5.2/include/o3tl/span.hxx.orig2 2020-04-04 17:41:58.575172521 +0300
+++ libreoffice-6.3.5.2/include/o3tl/span.hxx 2020-04-04 18:17:09.141934433 +0300
@@ -12,7 +12,7 @@
#include <sal/config.h>
-#if __has_include(<span>)
+#if 0
#include <span>