Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package cvise for openSUSE:Factory checked in at 2026-06-28 21:07:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cvise (Old) and /work/SRC/openSUSE:Factory/.cvise.new.11887 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cvise" Sun Jun 28 21:07:07 2026 rev:86 rq:1362033 version:2.12.0+git.20260624.82a22c61 Changes: -------- --- /work/SRC/openSUSE:Factory/cvise/cvise.changes 2026-06-27 18:09:56.263769921 +0200 +++ /work/SRC/openSUSE:Factory/.cvise.new.11887/cvise.changes 2026-06-28 21:07:45.896562504 +0200 @@ -1,0 +2,8 @@ +Sat Jun 27 18:50:00 UTC 2026 - Martin Pluskal <[email protected]> + +- Add cvise-tree-sitter-cpp-aarch64-sign-compare.patch: fix a + -Werror=sign-compare build failure in the bundled tree-sitter-cpp + scanner on aarch64, where wchar_t is unsigned and the raw-string + delimiter is compared against the signed int32_t lookahead. + +------------------------------------------------------------------- New: ---- cvise-tree-sitter-cpp-aarch64-sign-compare.patch ----------(New B)---------- New: - Add cvise-tree-sitter-cpp-aarch64-sign-compare.patch: fix a -Werror=sign-compare build failure in the bundled tree-sitter-cpp ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cvise.spec ++++++ --- /var/tmp/diff_new_pack.7WtorJ/_old 2026-06-28 21:07:46.540584205 +0200 +++ /var/tmp/diff_new_pack.7WtorJ/_new 2026-06-28 21:07:46.540584205 +0200 @@ -63,6 +63,8 @@ # Workaround bsc#1268265 Patch1: test_dir_linker_duplicate_2threads.patch +# Fix -Werror=sign-compare in bundled tree-sitter-cpp scanner on aarch64 (wchar_t is unsigned there); https://github.com/tree-sitter/tree-sitter-cpp/issues/338 +Patch2: cvise-tree-sitter-cpp-aarch64-sign-compare.patch %description ++++++ cvise-tree-sitter-cpp-aarch64-sign-compare.patch ++++++ From: Martin Pluskal <[email protected]> Subject: Fix -Werror=sign-compare in bundled tree-sitter-cpp scanner on aarch64 The bundled tree-sitter-cpp external scanner stores raw-string delimiters in a wchar_t array, then compares each element against lexer->lookahead, which tree-sitter defines as int32_t. wchar_t is a *signed* int on x86_64 but an *unsigned* int on aarch64 (and other arches), so on aarch64 the comparison mixes signed/unsigned operands and trips -Werror=sign-compare, which cvise turns on globally for all bundled code (-Wall -Wextra -Werror). It only fails on aarch64; x86_64 builds fine. Cast the stored wchar_t back to int32_t for the comparison. The stored values are Unicode code points originally taken from lexer->lookahead (non-negative), so the cast is value-preserving on every arch and a no-op where wchar_t is already signed. Upstream: https://github.com/tree-sitter/tree-sitter-cpp/issues/338 --- a/tree-sitter-cpp/src/scanner.c +++ b/tree-sitter-cpp/src/scanner.c @@ -29,7 +29,7 @@ // We already checked this when scanning content, but this is how we // know when to stop. We can't stop at ", because R"""hello""" is valid. for (int i = 0; i < scanner->delimiter_length; ++i) { - if (lexer->lookahead != scanner->delimiter[i]) { + if (lexer->lookahead != (int32_t)scanner->delimiter[i]) { return false; } advance(lexer); @@ -75,7 +75,7 @@ } delimiter_index = -1; } else { - if (lexer->lookahead == scanner->delimiter[delimiter_index]) { + if (lexer->lookahead == (int32_t)scanner->delimiter[delimiter_index]) { delimiter_index += 1; } else { delimiter_index = -1;
