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-10-11 15:20:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/include-what-you-use (Old)
 and      /work/SRC/openSUSE:Factory/.include-what-you-use.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "include-what-you-use"

Sun Oct 11 15:20:33 2026 rev:26 rq:1384007 version:0.27

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/include-what-you-use/include-what-you-use.changes    
    2026-04-28 12:02:50.765643518 +0200
+++ 
/work/SRC/openSUSE:Factory/.include-what-you-use.new.3698736/include-what-you-use.changes
   2026-10-11 15:25:43.741901438 +0200
@@ -1,0 +2,19 @@
+Sat Oct 10 14:39:58 UTC 2026 - Aaron Puchert <[email protected]>
+
+- Update to version 0.27, update LLVM/Clang to version 23.
+  * Improve printing of forward-declarations.
+  * Fix several crashes on valid inputs.
+  * Improve analysis of template types.
+  * Always keep includes embedded in language constructs.
+  * Add IWYU_USE_SYSTEM_GTEST option to use system googletest
+    instead of bundled.
+  * Add mapping generators for Clang builtin and intrinsics headers.
+  * Allow forward-decl-specific symbol mappings (e.g. for mapping
+    fwd-decl uses of std::basic_ios to <iosfwd>).
+  * Prefer <c*> headers for C library symbols in C++ mode.
+  * Add --always_first_include option to force particular headers
+    to the top.
+- Rebase iwyu_include_picker.patch.
+- Use system googletest.
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ include-what-you-use.spec ++++++
--- /var/tmp/diff_new_pack.CDpn92/_old  2026-10-11 15:25:44.679941230 +0200
+++ /var/tmp/diff_new_pack.CDpn92/_new  2026-10-11 15:25:44.682941357 +0200
@@ -16,10 +16,10 @@
 #
 
 
-%define _llvm_version 22
+%define _llvm_version 23
 
 Name:           include-what-you-use
-Version:        0.26
+Version:        0.27
 Release:        0
 Summary:        A tool to analyze #includes in C and C++ source files
 License:        NCSA
@@ -33,6 +33,7 @@
 BuildRequires:  cmake
 BuildRequires:  libstdc++-devel
 BuildRequires:  llvm%{_llvm_version}-devel
+BuildRequires:  cmake(GTest)
 %if %{suse_version} > 1500
 BuildRequires:  python3-base
 %else
@@ -66,6 +67,9 @@
 %prep
 %autosetup -p1 -n %{name}
 
+# We use the system package instead.
+rm -r vendor/googletest
+
 %build
 # We build static libraries because they're internal to the build and not
 # installed. (They're used for testing only.)
@@ -74,6 +78,7 @@
     -DBUILD_STATIC_LIBS:BOOL=ON \
     -DIWYU_LLVM_ROOT_PATH=%{_libdir} \
     -DCMAKE_SKIP_RPATH:BOOL=ON \
+    -DIWYU_USE_SYSTEM_GTEST:BOOL=ON \
 %if %{suse_version} <= 1500
     -DPython3_EXECUTABLE=%{_bindir}/python3.11 \
 %endif

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

++++++ iwyu_include_picker.patch ++++++
--- /var/tmp/diff_new_pack.CDpn92/_old  2026-10-11 15:25:45.162961720 +0200
+++ /var/tmp/diff_new_pack.CDpn92/_new  2026-10-11 15:25:45.164961805 +0200
@@ -1,8 +1,8 @@
 diff --git a/iwyu_include_picker.cc b/iwyu_include_picker.cc
-index 72cb6cb..5bb8ddc 100644
+index 8ea9cda..683ddc8 100644
 --- a/iwyu_include_picker.cc
 +++ b/iwyu_include_picker.cc
-@@ -86,14 +86,14 @@ struct IncludeMapEntry {      // A POD so we can make the 
input static
+@@ -95,14 +95,14 @@ struct SymbolMapEntry {
  namespace {
  
  // Listed below are all IWYU's native symbol and include mappings,
@@ -10,36 +10,36 @@
 +// loosely based on GCC 14's libc and libstdc++.
  
  // Symbol -> include mappings for GNU libc
- const IncludeMapEntry libc_symbol_map[] = {
+ const SymbolMapEntry libc_symbol_map[] = {
    // For library symbols that can be defined in more than one header
    // file, maps from symbol-name to legitimate header files.
    // This list was generated via
 -  // grep -R '__.*_defined' /usr/include | perl -nle 
'm,/usr/include/([^:]*):#\s*\S+ __(.*)_defined, and print qq@    { "$2", 
kPublic, "<$1>", kPublic },@' | sort -u
-+  // grep -R '__.*_defined' /usr/include | perl -nle 
'm,/usr/include/([^:]*):#\s*\S+ __(.*)_defined, and print qq@  { "$2", 
kPrivate, "<$1>", kPublic },@' | sort -u
++  // grep -R '__.*_defined' /usr/include | perl -nle 
'm,/usr/include/([^:]*):#\s*\S+ __(.*)_defined, and print qq@  { "$2", 
UseKind::Full, "<$1>", kPublic },@' | sort -u
    // 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>,
-@@ -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 },
+@@ -404,55 +404,84 @@ const SymbolMapEntry stdlib_cxx_symbol_map[] = {
+   { "std::char_traits<char16_t>", UseKind::Full, "<istream>", kPublic },
+   { "std::char_traits<char32_t>", UseKind::Full, "<istream>", kPublic },
+   { "std::char_traits<wchar_t>", UseKind::Full, "<istream>", kPublic },
 +
-+  { "std::pair", kPrivate, "<map>", kPublic },
-+  { "std::pair", kPrivate, "<multimap>", kPublic },
-+  { "std::pair", kPrivate, "<utility>", kPublic },
++  { "std::pair", UseKind::Full, "<map>", kPublic },
++  { "std::pair", UseKind::Full, "<multimap>", kPublic },
++  { "std::pair", UseKind::Full, "<utility>", kPublic },
 +
-+  { "std::istringstream", kPrivate, "<sstream>", kPublic },
-+  { "std::ostringstream", kPrivate, "<sstream>", kPublic },
-+  { "std::stringstream", kPrivate, "<sstream>", kPublic },
-+  { "std::wistringstream", kPrivate, "<sstream>", kPublic },
-+  { "std::wostringstream", kPrivate, "<sstream>", kPublic },
-+  { "std::wstringstream", kPrivate, "<sstream>", kPublic },
-+  { "std::ifstream", kPrivate, "<fstream>", kPublic },
-+  { "std::ofstream", kPrivate, "<fstream>", kPublic },
-+  { "std::fstream", kPrivate, "<fstream>", kPublic },
-+  { "std::wifstream", kPrivate, "<fstream>", kPublic },
-+  { "std::wofstream", kPrivate, "<fstream>", kPublic },
-+  { "std::wfstream", kPrivate, "<fstream>", kPublic },
++  { "std::istringstream", UseKind::Full, "<sstream>", kPublic },
++  { "std::ostringstream", UseKind::Full, "<sstream>", kPublic },
++  { "std::stringstream", UseKind::Full, "<sstream>", kPublic },
++  { "std::wistringstream", UseKind::Full, "<sstream>", kPublic },
++  { "std::wostringstream", UseKind::Full, "<sstream>", kPublic },
++  { "std::wstringstream", UseKind::Full, "<sstream>", kPublic },
++  { "std::ifstream", UseKind::Full, "<fstream>", kPublic },
++  { "std::ofstream", UseKind::Full, "<fstream>", kPublic },
++  { "std::fstream", UseKind::Full, "<fstream>", kPublic },
++  { "std::wifstream", UseKind::Full, "<fstream>", kPublic },
++  { "std::wofstream", UseKind::Full, "<fstream>", kPublic },
++  { "std::wfstream", UseKind::Full, "<fstream>", kPublic },
  };
  
  const IncludeMapEntry libc_include_map[] = {
@@ -117,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 },
-@@ -456,8 +485,15 @@ const IncludeMapEntry libc_include_map[] = {
+@@ -461,8 +490,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 },
@@ -133,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 },
-@@ -468,42 +504,43 @@ const IncludeMapEntry libc_include_map[] = {
+@@ -473,42 +509,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 },
@@ -190,7 +190,7 @@
    { "<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 },
-@@ -515,18 +552,53 @@ const IncludeMapEntry libc_include_map[] = {
+@@ -520,18 +557,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 },
@@ -248,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 },
-@@ -535,61 +607,155 @@ const IncludeMapEntry libc_include_map[] = {
+@@ -540,61 +612,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 },
@@ -420,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).
-@@ -615,8 +781,9 @@ const IncludeMapEntry libc_include_map[] = {
+@@ -620,8 +786,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 },
@@ -431,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 },
-@@ -652,7 +819,7 @@ const IncludeMapEntry stdlib_c_include_map[] = {
+@@ -657,7 +824,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:
@@ -440,7 +440,7 @@
    //
    // These headers are defined in [headers.cpp.c].
    // https://github.com/cplusplus/draft/blob/c+%2B20/source/lib-intro.tex
-@@ -786,25 +953,29 @@ const IncludeMapEntry stdlib_cpp_include_map[] = {
+@@ -791,25 +958,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.
@@ -473,7 +473,7 @@
  //
  // Do not edit!
  const IncludeMapEntry libstdcpp_include_map[] = {
-@@ -857,9 +1028,8 @@ const IncludeMapEntry libstdcpp_include_map[] = {
+@@ -862,9 +1033,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 },
@@ -484,4 +484,26 @@
    { "<debug/assertions.h>", kPrivate, "<bits/stl_deque.h>", kPrivate },
    { "<debug/assertions.h>", kPrivate, "<bits/stl_iterator_base_funcs.h>", 
kPrivate },
    { "<debug/assertions.h>", kPrivate, "<bits/stl_vector.h>", kPrivate },
+diff --git a/tests/cxx/std_symbol_mapping.cc b/tests/cxx/std_symbol_mapping.cc
+index 08168f9..97cc26e 100644
+--- a/tests/cxx/std_symbol_mapping.cc
++++ b/tests/cxx/std_symbol_mapping.cc
+@@ -122,7 +122,6 @@ tests/cxx/std_symbol_mapping.cc should add these lines:
+ #include <cstdint>
+ #include <cwchar>
+ #include <functional>
+-#include <iosfwd>
+ #include <spanstream>
+ #include <tuple>
+ #include <utility>
+@@ -139,8 +138,7 @@ The full include-list for tests/cxx/std_symbol_mapping.cc:
+ #include <cstdint>  // for int8_t
+ #include <cwchar>  // for tm (ptr only), wprintf
+ #include <functional>  // for function, swap
+-#include <iosfwd>  // for basic_ostream (ptr only), char_traits (ptr only)
+-#include <spanstream>  // for basic_spanstream
++#include <spanstream>  // for basic_ostream (ptr only), basic_spanstream, 
char_traits (ptr only)
+ #include <tuple>  // for tuple
+ #include <utility>  // for get, move, operator==, pair, swap
+ #include <valarray>  // for pow, valarray
 

Reply via email to