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;

Reply via email to