Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package include-what-you-use for 
openSUSE:Factory checked in at 2026-04-28 11:59:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/include-what-you-use (Old)
 and      /work/SRC/openSUSE:Factory/.include-what-you-use.new.11940 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "include-what-you-use"

Tue Apr 28 11:59:02 2026 rev:25 rq:1349675 version:0.26

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/include-what-you-use/include-what-you-use.changes    
    2025-09-29 16:34:28.472073420 +0200
+++ 
/work/SRC/openSUSE:Factory/.include-what-you-use.new.11940/include-what-you-use.changes
     2026-04-28 12:02:50.765643518 +0200
@@ -1,0 +2,15 @@
+Sun Apr 26 21:00:08 UTC 2026 - Aaron Puchert <[email protected]>
+
+- Update to version 0.26, update LLVM/Clang to version 22.
+  * Many improvements around the understanding of types,
+    particularly templates.
+  * Improve handling of builtin type traits.
+  * Add support for distinguishing function overloads and template
+    specializations in mappings.
+  * Add mapping generator for Windows.h.
+  * Add mapping generator for portable C++ standard library
+    symbols.
+  * Improve libc, libc++ and POSIX mappings.
+- Rebase iwyu_include_picker.patch.
+
+-------------------------------------------------------------------

Old:
----
  include-what-you-use-0.25.src.tar.gz

New:
----
  include-what-you-use-0.26.src.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ include-what-you-use.spec ++++++
--- /var/tmp/diff_new_pack.lt0oX6/_old  2026-04-28 12:02:51.341667380 +0200
+++ /var/tmp/diff_new_pack.lt0oX6/_new  2026-04-28 12:02:51.341667380 +0200
@@ -1,8 +1,7 @@
 #
 # spec file for package include-what-you-use
 #
-# Copyright (c) 2025 SUSE LLC and contributors
-# Copyright (c) 2025 Aaron Puchert.
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,10 +16,10 @@
 #
 
 
-%define _llvm_version 21
+%define _llvm_version 22
 
 Name:           include-what-you-use
-Version:        0.25
+Version:        0.26
 Release:        0
 Summary:        A tool to analyze #includes in C and C++ source files
 License:        NCSA
@@ -66,10 +65,14 @@
 
 %prep
 %autosetup -p1 -n %{name}
-sed -i s#lib/#lib\${LLVM_LIBDIR_SUFFIX}/#g CMakeLists.txt
 
 %build
-%cmake -DIWYU_LLVM_ROOT_PATH=%{_libdir} \
+# We build static libraries because they're internal to the build and not
+# installed. (They're used for testing only.)
+%cmake \
+    -DBUILD_SHARED_LIBS:BOOL=OFF \
+    -DBUILD_STATIC_LIBS:BOOL=ON \
+    -DIWYU_LLVM_ROOT_PATH=%{_libdir} \
     -DCMAKE_SKIP_RPATH:BOOL=ON \
 %if %{suse_version} <= 1500
     -DPython3_EXECUTABLE=%{_bindir}/python3.11 \
@@ -87,6 +90,12 @@
 %global exclude_tests %exclude_tests|cxx.test_badinc
 %endif
 
+# On 32-bit architectures, some tests fail because "operator new" takes
+# unsigned int instead of unsigned long.
+%ifarch %arm i586
+%global exclude_tests %exclude_tests|cxx.test_(fn_def_args|placement_new)
+%endif
+
 # Fails with older versions of libstdc++ (at least <= 7, maybe more) with error
 # "type 'const std::hash<IndirectClass>' does not provide a call operator".
 # Fails with newer versions of libstc++ with error "static assertion failed due
@@ -96,7 +105,11 @@
 %global exclude_tests %exclude_tests|cxx.test_precomputed_tpl_args(|_cpp14)
 %endif
 
+# On Leap 15 some tests sporadically fail with "Cannot open mapping file
+# '[...]': Cannot allocate memory." Reason is unclear.
+%if %{suse_version} >= 1600
 %{ctest '-E' '^(%exclude_tests)$'}
+%endif
 
 %files
 %license LICENSE.TXT

++++++ include-what-you-use-0.25.src.tar.gz -> 
include-what-you-use-0.26.src.tar.gz ++++++
++++ 45002 lines of diff (skipped)

++++++ iwyu_include_picker.patch ++++++
--- /var/tmp/diff_new_pack.lt0oX6/_old  2026-04-28 12:02:52.389710796 +0200
+++ /var/tmp/diff_new_pack.lt0oX6/_new  2026-04-28 12:02:52.421712123 +0200
@@ -1,8 +1,8 @@
 diff --git a/iwyu_include_picker.cc b/iwyu_include_picker.cc
-index fdb7364..1aa49f5 100644
+index 72cb6cb..5bb8ddc 100644
 --- a/iwyu_include_picker.cc
 +++ b/iwyu_include_picker.cc
-@@ -82,14 +82,14 @@ struct IncludeMapEntry {      // A POD so we can make the 
input static
+@@ -86,14 +86,14 @@ struct IncludeMapEntry {      // A POD so we can make the 
input static
  namespace {
  
  // Listed below are all IWYU's native symbol and include mappings,
@@ -19,10 +19,10 @@
    // I ignored all entries that only appeared once on the list (eg uint32_t).
    // I then added in NULL, which according to [diff.null] C.2.2.3, can
    // be defined in <clocale>, <cstddef>, <cstdio>, <cstdlib>,
-@@ -339,6 +339,23 @@ const IncludeMapEntry stdlib_cxx_symbol_map[] = {
-   { "std::size_t", kPrivate, "<ctime>", kPublic },
-   { "std::size_t", kPrivate, "<cuchar>", kPublic },
-   { "std::size_t", kPrivate, "<cwchar>", kPublic },
+@@ -399,55 +399,84 @@ const IncludeMapEntry stdlib_cxx_symbol_map[] = {
+   { "std::char_traits<char16_t>", kPrivate, "<istream>", kPublic },
+   { "std::char_traits<char32_t>", kPrivate, "<istream>", kPublic },
+   { "std::char_traits<wchar_t>", kPrivate, "<istream>", kPublic },
 +
 +  { "std::pair", kPrivate, "<map>", kPublic },
 +  { "std::pair", kPrivate, "<multimap>", kPublic },
@@ -42,9 +42,6 @@
 +  { "std::wfstream", kPrivate, "<fstream>", kPublic },
  };
  
- // Symbol -> include mappings for GNU libstdc++
-@@ -349,51 +366,63 @@ const IncludeMapEntry libstdcpp_symbol_map[] = {
- 
  const IncludeMapEntry libc_include_map[] = {
    // Private -> public include mappings for GNU libc
 -  // ( cd /usr/include && grep '^ *# *include' {sys/,net/,}* | perl -nle 
'm/^([^:]+).*<([^>]+)>/ && print qq@    { "<$2>", kPrivate, "<$1>", kPublic 
},@' | grep bits/ | sort )
@@ -120,7 +117,7 @@
    { "<bits/netdb.h>", kPrivate, "<netdb.h>", kPublic },
    { "<bits/param.h>", kPrivate, "<sys/param.h>", kPublic },
    { "<bits/poll.h>", kPrivate, "<sys/poll.h>", kPrivate },
-@@ -402,8 +431,15 @@ const IncludeMapEntry libc_include_map[] = {
+@@ -456,8 +485,15 @@ const IncludeMapEntry libc_include_map[] = {
    { "<bits/posix2_lim.h>", kPrivate, "<limits.h>", kPublic },
    { "<bits/posix_opt.h>", kPrivate, "<unistd.h>", kPublic },
    { "<bits/printf-ldbl.h>", kPrivate, "<printf.h>", kPublic },
@@ -136,7 +133,7 @@
    { "<bits/sched.h>", kPrivate, "<sched.h>", kPublic },
    { "<bits/select.h>", kPrivate, "<sys/select.h>", kPublic },
    { "<bits/select2.h>", kPrivate, "<sys/select.h>", kPublic },
-@@ -414,42 +450,44 @@ const IncludeMapEntry libc_include_map[] = {
+@@ -468,42 +504,43 @@ const IncludeMapEntry libc_include_map[] = {
    { "<bits/shm.h>", kPrivate, "<sys/shm.h>", kPublic },
    { "<bits/sigaction.h>", kPrivate, "<signal.h>", kPublic },
    { "<bits/sigcontext.h>", kPrivate, "<signal.h>", kPublic },
@@ -189,12 +186,11 @@
    { "<bits/syslog-ldbl.h>", kPrivate, "<sys/syslog.h>", kPrivate },
    { "<bits/syslog-path.h>", kPrivate, "<sys/syslog.h>", kPrivate },
    { "<bits/syslog.h>", kPrivate, "<sys/syslog.h>", kPrivate },
-+  { "<bits/syslog.h>", kPrivate, "<sys/syslog.h>", kPrivate },
 +  { "<bits/sysmacros.h>", kPrivate, "<sys/sysmacros.h>", kPublic },
+   { "<bits/termios-baud.h>", kPrivate, "<termios.h>", kPublic },
    { "<bits/termios-c_cc.h>", kPrivate, "<termios.h>", kPublic },
    { "<bits/termios-c_cflag.h>", kPrivate, "<termios.h>", kPublic },
-   { "<bits/termios-c_iflag.h>", kPrivate, "<termios.h>", kPublic },
-@@ -459,16 +497,52 @@ const IncludeMapEntry libc_include_map[] = {
+@@ -515,18 +552,53 @@ const IncludeMapEntry libc_include_map[] = {
    { "<bits/termios-struct.h>", kPrivate, "<termios.h>", kPublic },
    { "<bits/termios-tcflow.h>", kPrivate, "<termios.h>", kPublic },
    { "<bits/termios.h>", kPrivate, "<termios.h>", kPublic },
@@ -222,7 +218,6 @@
 +  { "<bits/types/sigevent_t.h>", kPrivate, "<signal.h>", kPublic },
    { "<bits/types/siginfo_t.h>", kPrivate, "<signal.h>", kPublic },
 -  { "<bits/types/siginfo_t.h>", kPrivate, "<sys/wait.h>", kPublic },
--  { "<bits/uio.h>", kPrivate, "<sys/uio.h>", kPublic },
 +  { "<bits/types/sigset_t.h>", kPrivate, "<signal.h>", kPublic },
 +  { "<bits/types/sigval_t.h>", kPrivate, "<signal.h>", kPublic },
 +  { "<bits/types/stack_t.h>", kPrivate, "<signal.h>", kPublic },
@@ -232,7 +227,9 @@
 +  { "<bits/types/struct_iovec.h>", kPrivate, "<sys/uio.h>", kPublic },
 +  { "<bits/types/struct_itimerspec.h>", kPrivate, "<sys/timerfd.h>", kPublic 
},
 +  { "<bits/types/struct_osockaddr.h>", kPrivate, "<sys/socket.h>", kPublic },
-+  { "<bits/types/struct_rusage.h>", kPrivate, "<sys/wait.h>", kPublic },
+   { "<bits/types/struct_rusage.h>", kPrivate, "<sys/resource.h>", kPublic },
+   { "<bits/types/struct_sched_param.h>", kPrivate, "<sched.h>", kPublic },
+-  { "<bits/uio.h>", kPrivate, "<sys/uio.h>", kPublic },
 +  { "<bits/types/struct_sigstack.h>", kPrivate, "<signal.h>", kPublic },
 +  { "<bits/types/struct_timeb.h>", kPrivate, "<sys/timeb.h>", kPublic },
 +  { "<bits/types/struct_timespec.h>", kPrivate, "<time.h>", kPublic },
@@ -251,7 +248,7 @@
    { "<bits/utmp.h>", kPrivate, "<utmp.h>", kPublic },
    { "<bits/utmpx.h>", kPrivate, "<utmpx.h>", kPublic },
    { "<bits/utsname.h>", kPrivate, "<sys/utsname.h>", kPublic },
-@@ -477,61 +551,155 @@ const IncludeMapEntry libc_include_map[] = {
+@@ -535,61 +607,155 @@ const IncludeMapEntry libc_include_map[] = {
    { "<bits/wchar-ldbl.h>", kPrivate, "<wchar.h>", kPublic },
    { "<bits/wchar.h>", kPrivate, "<wchar.h>", kPublic },
    { "<bits/wchar2.h>", kPrivate, "<wchar.h>", kPublic },
@@ -423,7 +420,7 @@
    // Top-level #includes that just forward to another file:
    // $ for i in /usr/include/*; do [ -f $i ] && [ `wc -l < $i` = 1 ] && echo 
$i; done
    // (poll.h, syscall.h, syslog.h, ustat.h, wait.h).
-@@ -557,8 +725,9 @@ const IncludeMapEntry libc_include_map[] = {
+@@ -615,8 +781,9 @@ const IncludeMapEntry libc_include_map[] = {
    // $ for i in /usr/include/bits/*; do for dir in asm linux; do grep -H -e 
$dir/`basename $i` $i; done; done
    { "<linux/errno.h>", kPrivate, "<bits/errno.h>", kPrivate },
    { "<asm/ioctls.h>", kPrivate, "<bits/ioctls.h>", kPrivate },
@@ -434,7 +431,7 @@
    // Some asm files have 32- and 64-bit variants:
    // $ ls /usr/include/asm/*_{32,64}.h
    { "<asm/posix_types_32.h>", kPrivate, "<asm/posix_types.h>", kPublic },
-@@ -594,7 +763,7 @@ const IncludeMapEntry stdlib_c_include_map[] = {
+@@ -652,7 +819,7 @@ const IncludeMapEntry stdlib_c_include_map[] = {
    // <cassert> back to <assert.h>.  (If you *did* want to replace
    // assert.h with cassert, you'd change it to a public->private
    // mapping.)  Here is how I identified the files to map:
@@ -443,7 +440,7 @@
    //
    // These headers are defined in [headers.cpp.c].
    // https://github.com/cplusplus/draft/blob/c+%2B20/source/lib-intro.tex
-@@ -728,25 +897,29 @@ const IncludeMapEntry stdlib_cpp_include_map[] = {
+@@ -786,25 +953,29 @@ const IncludeMapEntry stdlib_cpp_include_map[] = {
    // #including each other (eg <iostream> #includes <istream>).  We
    // are pretty forgiving: if a user specifies any public header, we
    // generally don't require the others.
@@ -476,7 +473,7 @@
  //
  // Do not edit!
  const IncludeMapEntry libstdcpp_include_map[] = {
-@@ -799,9 +972,8 @@ const IncludeMapEntry libstdcpp_include_map[] = {
+@@ -857,9 +1028,8 @@ const IncludeMapEntry libstdcpp_include_map[] = {
    { "<bits/stdc++.h>", kPrivate, "<bits/extc++.h>", kPrivate },
    { "<bits/stdc++.h>", kPrivate, "<bits/stdtr1c++.h>", kPrivate },
    { "<bits/stdtr1c++.h>", kPrivate, "<bits/extc++.h>", kPrivate },

Reply via email to