Files
FreeBSD-ports/lang/gnu-apl/files/patch-src_PrimitiveFunction.cc
Alexey Dokuchaev 5baf43483c lang/gnu-apl: try to unbreak the port's build on recent -CURRENT
The base template for std::char_traits<> has been removed in LLVM 19;
specializations are only provided for char, wchar_t, char8_t, char16_t,
and char32_t.  This had severely impacted GNU APL which derived its
UTF8 and UCS string classes from std::basic_string<>.  The author had
made several attempts to convert these classes to use std::vector<>
instead.  Carefully cherry-pick required changes so these fixes could
be applied on top of version 1.8 as trunk had diverged significantly.

Obtained from:	upstream (SVN revisions 1823, 1831, and 1837)
Reported by:	pkg-fallout
2025-06-04 06:51:24 +00:00

14 lines
579 B
C++

--- src/PrimitiveFunction.cc.orig 2019-06-23 12:39:20 UTC
+++ src/PrimitiveFunction.cc
@@ -2668,8 +2668,8 @@ Value_P Z(ShapeItem(line_starts.size() - 1), LOC);
else
len = result_utf8.size() - line_starts[l];
- UTF8_string line_utf8(&result_utf8[line_starts[l]], len);
- UCS_string line_ucs(line_utf8);
+ const UTF8_string line_utf8(utf8P(&result_utf8[line_starts[l]]), len);
+ const UCS_string line_ucs(line_utf8);
Value_P ZZ(line_ucs, LOC);
new (Z->next_ravel()) PointerCell(ZZ.get(), Z.getref());
}