Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package llvm20 for openSUSE:Factory checked 
in at 2025-06-30 13:03:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/llvm20 (Old)
 and      /work/SRC/openSUSE:Factory/.llvm20.new.7067 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "llvm20"

Mon Jun 30 13:03:50 2025 rev:7 rq:1288892 version:20.1.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/llvm20/llvm20.changes    2025-06-02 
21:59:06.965626742 +0200
+++ /work/SRC/openSUSE:Factory/.llvm20.new.7067/llvm20.changes  2025-06-30 
13:04:30.776985073 +0200
@@ -1,0 +2,8 @@
+Fri Jun 20 21:33:10 UTC 2025 - Aaron Puchert <aaronpuch...@alice-dsl.net>
+
+- Update to version 20.1.7.
+  * This release contains bug-fixes for the LLVM 20.1.0 release.
+    This release is API and ABI compatible with 20.1.0.
+- Rebase llvm-do-not-install-static-libraries.patch.
+
+-------------------------------------------------------------------

Old:
----
  clang-20.1.6.src.tar.xz
  clang-20.1.6.src.tar.xz.sig
  clang-docs-20.1.6.src.tar.xz
  clang-tools-extra-20.1.6.src.tar.xz
  clang-tools-extra-20.1.6.src.tar.xz.sig
  cmake-20.1.6.src.tar.xz
  cmake-20.1.6.src.tar.xz.sig
  compiler-rt-20.1.6.src.tar.xz
  compiler-rt-20.1.6.src.tar.xz.sig
  libc-20.1.6.src.tar.xz
  libcxx-20.1.6.src.tar.xz
  libcxx-20.1.6.src.tar.xz.sig
  libcxxabi-20.1.6.src.tar.xz
  libcxxabi-20.1.6.src.tar.xz.sig
  lld-20.1.6.src.tar.xz
  lld-20.1.6.src.tar.xz.sig
  lldb-20.1.6.src.tar.xz
  lldb-20.1.6.src.tar.xz.sig
  llvm-20.1.6.src.tar.xz
  llvm-20.1.6.src.tar.xz.sig
  llvm-docs-20.1.6.src.tar.xz
  openmp-20.1.6.src.tar.xz
  openmp-20.1.6.src.tar.xz.sig
  polly-20.1.6.src.tar.xz
  polly-20.1.6.src.tar.xz.sig
  runtimes-20.1.6.src.tar.xz
  runtimes-20.1.6.src.tar.xz.sig
  third-party-20.1.6.src.tar.xz
  third-party-20.1.6.src.tar.xz.sig

New:
----
  clang-20.1.7.src.tar.xz
  clang-20.1.7.src.tar.xz.sig
  clang-docs-20.1.7.src.tar.xz
  clang-tools-extra-20.1.7.src.tar.xz
  clang-tools-extra-20.1.7.src.tar.xz.sig
  cmake-20.1.7.src.tar.xz
  cmake-20.1.7.src.tar.xz.sig
  compiler-rt-20.1.7.src.tar.xz
  compiler-rt-20.1.7.src.tar.xz.sig
  libc-20.1.7.src.tar.xz
  libcxx-20.1.7.src.tar.xz
  libcxx-20.1.7.src.tar.xz.sig
  libcxxabi-20.1.7.src.tar.xz
  libcxxabi-20.1.7.src.tar.xz.sig
  lld-20.1.7.src.tar.xz
  lld-20.1.7.src.tar.xz.sig
  lldb-20.1.7.src.tar.xz
  lldb-20.1.7.src.tar.xz.sig
  llvm-20.1.7.src.tar.xz
  llvm-20.1.7.src.tar.xz.sig
  llvm-docs-20.1.7.src.tar.xz
  openmp-20.1.7.src.tar.xz
  openmp-20.1.7.src.tar.xz.sig
  polly-20.1.7.src.tar.xz
  polly-20.1.7.src.tar.xz.sig
  runtimes-20.1.7.src.tar.xz
  runtimes-20.1.7.src.tar.xz.sig
  third-party-20.1.7.src.tar.xz
  third-party-20.1.7.src.tar.xz.sig

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

Other differences:
------------------
++++++ llvm20.spec ++++++
--- /var/tmp/diff_new_pack.Hh0Hro/_old  2025-06-30 13:04:41.265422196 +0200
+++ /var/tmp/diff_new_pack.Hh0Hro/_new  2025-06-30 13:04:41.269422364 +0200
@@ -19,7 +19,7 @@
 %global _sonum  20
 %global _minor  %{_sonum}.1
 %global _soname %{_minor}%{?_rc:-rc%_rc}
-%global _patch_level 6
+%global _patch_level 7
 %global _relver %{_minor}.%{_patch_level}
 %global _version %_relver%{?_rc:-rc%_rc}
 %global _itsme20 1

++++++ clang-20.1.6.src.tar.xz -> clang-20.1.7.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm20/clang-20.1.6.src.tar.xz 
/work/SRC/openSUSE:Factory/.llvm20.new.7067/clang-20.1.7.src.tar.xz differ: 
char 15, line 1

++++++ clang-docs-20.1.6.src.tar.xz -> clang-docs-20.1.7.src.tar.xz ++++++
++++ 3558 lines of diff (skipped)

++++++ clang-tools-extra-20.1.6.src.tar.xz -> 
clang-tools-extra-20.1.7.src.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/clang-tools-extra-20.1.6.src/clangd/InlayHints.cpp 
new/clang-tools-extra-20.1.7.src/clangd/InlayHints.cpp
--- old/clang-tools-extra-20.1.6.src/clangd/InlayHints.cpp      2025-05-28 
00:33:46.000000000 +0200
+++ new/clang-tools-extra-20.1.7.src/clangd/InlayHints.cpp      2025-06-13 
06:54:32.000000000 +0200
@@ -33,6 +33,7 @@
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/ADT/Twine.h"
+#include "llvm/ADT/identity.h"
 #include "llvm/Support/Casting.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/FormatVariadic.h"
@@ -368,7 +369,11 @@
   }
 
   if (auto F = Target.getAs<FunctionProtoTypeLoc>()) {
-    return F;
+    // In some edge cases the AST can contain a "trivial" FunctionProtoTypeLoc
+    // which has null parameters. Avoid these as they don't contain useful
+    // information.
+    if (llvm::all_of(F.getParams(), llvm::identity<ParmVarDecl *>()))
+      return F;
   }
 
   return {};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/clang-tools-extra-20.1.6.src/clangd/ModulesBuilder.cpp 
new/clang-tools-extra-20.1.7.src/clangd/ModulesBuilder.cpp
--- old/clang-tools-extra-20.1.6.src/clangd/ModulesBuilder.cpp  2025-05-28 
00:33:46.000000000 +0200
+++ new/clang-tools-extra-20.1.7.src/clangd/ModulesBuilder.cpp  2025-06-13 
06:54:32.000000000 +0200
@@ -360,9 +360,9 @@
 /// Collect the directly and indirectly required module names for \param
 /// ModuleName in topological order. The \param ModuleName is guaranteed to
 /// be the last element in \param ModuleNames.
-llvm::SmallVector<StringRef> getAllRequiredModules(ProjectModules &MDB,
+llvm::SmallVector<std::string> getAllRequiredModules(ProjectModules &MDB,
                                                    StringRef ModuleName) {
-  llvm::SmallVector<llvm::StringRef> ModuleNames;
+  llvm::SmallVector<std::string> ModuleNames;
   llvm::StringSet<> ModuleNamesSet;
 
   auto VisitDeps = [&](StringRef ModuleName, auto Visitor) -> void {
@@ -373,7 +373,7 @@
       if (ModuleNamesSet.insert(RequiredModuleName).second)
         Visitor(RequiredModuleName, Visitor);
 
-    ModuleNames.push_back(ModuleName);
+    ModuleNames.push_back(ModuleName.str());
   };
   VisitDeps(ModuleName, VisitDeps);
 
@@ -418,13 +418,13 @@
   // Get Required modules in topological order.
   auto ReqModuleNames = getAllRequiredModules(MDB, ModuleName);
   for (llvm::StringRef ReqModuleName : ReqModuleNames) {
-    if (BuiltModuleFiles.isModuleUnitBuilt(ModuleName))
+    if (BuiltModuleFiles.isModuleUnitBuilt(ReqModuleName))
       continue;
 
     if (auto Cached = Cache.getModule(ReqModuleName)) {
       if (IsModuleFileUpToDate(Cached->getModuleFilePath(), BuiltModuleFiles,
                                TFS.view(std::nullopt))) {
-        log("Reusing module {0} from {1}", ModuleName,
+        log("Reusing module {0} from {1}", ReqModuleName,
             Cached->getModuleFilePath());
         BuiltModuleFiles.addModuleFile(std::move(Cached));
         continue;
@@ -432,14 +432,16 @@
       Cache.remove(ReqModuleName);
     }
 
+    std::string ReqFileName =
+        MDB.getSourceForModuleName(ReqModuleName);
     llvm::Expected<ModuleFile> MF = buildModuleFile(
-        ModuleName, ModuleUnitFileName, getCDB(), TFS, BuiltModuleFiles);
+        ReqModuleName, ReqFileName, getCDB(), TFS, BuiltModuleFiles);
     if (llvm::Error Err = MF.takeError())
       return Err;
 
-    log("Built module {0} to {1}", ModuleName, MF->getModuleFilePath());
+    log("Built module {0} to {1}", ReqModuleName, MF->getModuleFilePath());
     auto BuiltModuleFile = std::make_shared<const ModuleFile>(std::move(*MF));
-    Cache.add(ModuleName, BuiltModuleFile);
+    Cache.add(ReqModuleName, BuiltModuleFile);
     BuiltModuleFiles.addModuleFile(std::move(BuiltModuleFile));
   }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/clang-tools-extra-20.1.6.src/clangd/ProjectModules.h 
new/clang-tools-extra-20.1.7.src/clangd/ProjectModules.h
--- old/clang-tools-extra-20.1.6.src/clangd/ProjectModules.h    2025-05-28 
00:33:46.000000000 +0200
+++ new/clang-tools-extra-20.1.7.src/clangd/ProjectModules.h    2025-06-13 
06:54:32.000000000 +0200
@@ -42,7 +42,7 @@
       llvm::unique_function<void(tooling::CompileCommand &, PathRef) const>;
 
   virtual std::vector<std::string> getRequiredModules(PathRef File) = 0;
-  virtual PathRef
+  virtual std::string
   getSourceForModuleName(llvm::StringRef ModuleName,
                          PathRef RequiredSrcFile = PathRef()) = 0;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/clang-tools-extra-20.1.6.src/clangd/ScanningProjectModules.cpp 
new/clang-tools-extra-20.1.7.src/clangd/ScanningProjectModules.cpp
--- old/clang-tools-extra-20.1.6.src/clangd/ScanningProjectModules.cpp  
2025-05-28 00:33:46.000000000 +0200
+++ new/clang-tools-extra-20.1.7.src/clangd/ScanningProjectModules.cpp  
2025-06-13 06:54:32.000000000 +0200
@@ -66,7 +66,7 @@
   ///
   /// TODO: We should handle the case that there are multiple source files
   /// declaring the same module.
-  PathRef getSourceForModuleName(llvm::StringRef ModuleName) const;
+  std::string getSourceForModuleName(llvm::StringRef ModuleName) const;
 
   /// Return the direct required modules. Indirect required modules are not
   /// included.
@@ -140,7 +140,7 @@
   GlobalScanned = true;
 }
 
-PathRef ModuleDependencyScanner::getSourceForModuleName(
+std::string ModuleDependencyScanner::getSourceForModuleName(
     llvm::StringRef ModuleName) const {
   assert(
       GlobalScanned &&
@@ -189,7 +189,7 @@
 
   /// RequiredSourceFile is not used intentionally. See the comments of
   /// ModuleDependencyScanner for detail.
-  PathRef
+  std::string
   getSourceForModuleName(llvm::StringRef ModuleName,
                          PathRef RequiredSourceFile = PathRef()) override {
     Scanner.globalScan(Mangler);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/clang-tools-extra-20.1.6.src/clangd/test/module_dependencies.test 
new/clang-tools-extra-20.1.7.src/clangd/test/module_dependencies.test
--- old/clang-tools-extra-20.1.6.src/clangd/test/module_dependencies.test       
1970-01-01 01:00:00.000000000 +0100
+++ new/clang-tools-extra-20.1.7.src/clangd/test/module_dependencies.test       
2025-06-13 06:54:32.000000000 +0200
@@ -0,0 +1,95 @@
+# A smoke test to check that a simple dependency chain for modules can work.
+#
+# FIXME: The test fails on Windows; see comments on 
https://github.com/llvm/llvm-project/pull/142828
+# UNSUPPORTED: system-windows
+#
+# RUN: rm -fr %t
+# RUN: mkdir -p %t
+# RUN: split-file %s %t
+#
+# RUN: sed -e "s|DIR|%/t|g" %t/compile_commands.json.tmpl > 
%t/compile_commands.json.tmp
+# RUN: sed -e "s|CLANG_CC|%clang|g" %t/compile_commands.json.tmp > 
%t/compile_commands.json
+# RUN: sed -e "s|DIR|%/t|g" %t/definition.jsonrpc.tmpl > 
%t/definition.jsonrpc.tmp
+#
+# On Windows, we need the URI in didOpen to look like "uri":"file:///C:/..."
+# (with the extra slash in the front), so we add it here.
+# RUN: sed -E -e 's|"file://([A-Z]):/|"file:///\1:/|g' 
%/t/definition.jsonrpc.tmp > %/t/definition.jsonrpc
+#
+# RUN: clangd -experimental-modules-support -lit-test < %t/definition.jsonrpc \
+# RUN:      | FileCheck -strict-whitespace %t/definition.jsonrpc
+
+#--- A-frag.cppm
+export module A:frag;
+export void printA() {}
+
+#--- A.cppm
+export module A;
+export import :frag;
+
+#--- Use.cpp
+import A;
+void foo() {
+    print
+}
+
+#--- compile_commands.json.tmpl
+[
+    {
+      "directory": "DIR",
+      "command": "CLANG_CC -fprebuilt-module-path=DIR -std=c++20 -o 
DIR/main.cpp.o -c DIR/Use.cpp",
+      "file": "DIR/Use.cpp"
+    },
+    {
+      "directory": "DIR",
+      "command": "CLANG_CC -std=c++20 DIR/A.cppm --precompile -o DIR/A.pcm",
+      "file": "DIR/A.cppm"
+    },
+    {
+      "directory": "DIR",
+      "command": "CLANG_CC -std=c++20 DIR/A-frag.cppm --precompile -o 
DIR/A-frag.pcm",
+      "file": "DIR/A-frag.cppm"
+    }
+]
+
+#--- definition.jsonrpc.tmpl
+{
+  "jsonrpc": "2.0",
+  "id": 0,
+  "method": "initialize",
+  "params": {
+    "processId": 123,
+    "rootPath": "clangd",
+    "capabilities": {
+      "textDocument": {
+        "completion": {
+          "completionItem": {
+            "snippetSupport": true
+          }
+        }
+      }
+    },
+    "trace": "off"
+  }
+}
+---
+{
+  "jsonrpc": "2.0",
+  "method": "textDocument/didOpen",
+  "params": {
+    "textDocument": {
+      "uri": "file://DIR/Use.cpp",
+      "languageId": "cpp",
+      "version": 1,
+      "text": "import A;\nvoid foo() {\n    print\n}\n"
+    }
+  }
+}
+
+# CHECK: "message"{{.*}}printA{{.*}}(fix available)
+
+---
+{"jsonrpc":"2.0","id":1,"method":"textDocument/completion","params":{"textDocument":{"uri":"file://DIR/Use.cpp"},"context":{"triggerKind":1},"position":{"line":2,"character":6}}}
+---
+{"jsonrpc":"2.0","id":2,"method":"shutdown"}
+---
+{"jsonrpc":"2.0","method":"exit"}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/clang-tools-extra-20.1.6.src/clangd/unittests/InlayHintTests.cpp 
new/clang-tools-extra-20.1.7.src/clangd/unittests/InlayHintTests.cpp
--- old/clang-tools-extra-20.1.6.src/clangd/unittests/InlayHintTests.cpp        
2025-05-28 00:33:46.000000000 +0200
+++ new/clang-tools-extra-20.1.7.src/clangd/unittests/InlayHintTests.cpp        
2025-06-13 06:54:32.000000000 +0200
@@ -997,11 +997,16 @@
     f3_t f3;
     using f4_t = void(__stdcall *)(int param);
     f4_t f4;
+    __attribute__((noreturn)) f4_t f5;
     void bar() {
       f1($f1[[42]]);
       f2($f2[[42]]);
       f3($f3[[42]]);
       f4($f4[[42]]);
+      // This one runs into an edge case in clang's type model
+      // and we can't extract the parameter name. But at least
+      // we shouldn't crash.
+      f5(42);
     }
   )cpp",
       ExpectedHint{"param: ", "f1"}, ExpectedHint{"param: ", "f2"},

++++++ cmake-20.1.6.src.tar.xz -> cmake-20.1.7.src.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/cmake-20.1.6.src/Modules/LLVMVersion.cmake 
new/cmake-20.1.7.src/Modules/LLVMVersion.cmake
--- old/cmake-20.1.6.src/Modules/LLVMVersion.cmake      2025-05-28 
00:33:46.000000000 +0200
+++ new/cmake-20.1.7.src/Modules/LLVMVersion.cmake      2025-06-13 
06:54:32.000000000 +0200
@@ -7,7 +7,7 @@
   set(LLVM_VERSION_MINOR 1)
 endif()
 if(NOT DEFINED LLVM_VERSION_PATCH)
-  set(LLVM_VERSION_PATCH 6)
+  set(LLVM_VERSION_PATCH 7)
 endif()
 if(NOT DEFINED LLVM_VERSION_SUFFIX)
   set(LLVM_VERSION_SUFFIX)

++++++ compiler-rt-20.1.6.src.tar.xz -> compiler-rt-20.1.7.src.tar.xz ++++++

++++++ libc-20.1.6.src.tar.xz -> libc-20.1.7.src.tar.xz ++++++

++++++ libcxx-20.1.6.src.tar.xz -> libcxx-20.1.7.src.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcxx-20.1.6.src/include/__flat_map/flat_map.h 
new/libcxx-20.1.7.src/include/__flat_map/flat_map.h
--- old/libcxx-20.1.6.src/include/__flat_map/flat_map.h 2025-05-28 
00:33:46.000000000 +0200
+++ new/libcxx-20.1.7.src/include/__flat_map/flat_map.h 2025-06-13 
06:54:32.000000000 +0200
@@ -113,7 +113,7 @@
 
   class value_compare {
   private:
-    key_compare __comp_;
+    _LIBCPP_NO_UNIQUE_ADDRESS key_compare __comp_;
     _LIBCPP_HIDE_FROM_ABI value_compare(key_compare __c) : __comp_(__c) {}
     friend flat_map;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcxx-20.1.6.src/include/__flat_map/flat_multimap.h 
new/libcxx-20.1.7.src/include/__flat_map/flat_multimap.h
--- old/libcxx-20.1.6.src/include/__flat_map/flat_multimap.h    2025-05-28 
00:33:46.000000000 +0200
+++ new/libcxx-20.1.7.src/include/__flat_map/flat_multimap.h    2025-06-13 
06:54:32.000000000 +0200
@@ -115,7 +115,7 @@
 
   class value_compare {
   private:
-    key_compare __comp_;
+    _LIBCPP_NO_UNIQUE_ADDRESS key_compare __comp_;
     _LIBCPP_HIDE_FROM_ABI value_compare(key_compare __c) : __comp_(__c) {}
     friend flat_multimap;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libcxx-20.1.6.src/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
 
new/libcxx-20.1.7.src/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
--- 
old/libcxx-20.1.6.src/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
    2025-05-28 00:33:46.000000000 +0200
+++ 
new/libcxx-20.1.7.src/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
    2025-06-13 06:54:32.000000000 +0200
@@ -13,6 +13,8 @@
 
 // REQUIRES: locale.fr_FR.UTF-8
 
+// ADDITIONAL_COMPILE_FLAGS: 
-DFR_MON_THOU_SEP=%{LOCALE_CONV_FR_FR_UTF_8_MON_THOUSANDS_SEP}
+
 // <locale>
 
 // class money_get<charT, InputIterator>
@@ -59,7 +61,8 @@
 };
 
 static std::wstring convert_thousands_sep(std::wstring const& in) {
-  return LocaleHelpers::convert_thousands_sep_fr_FR(in);
+  const wchar_t fr_sep = 
LocaleHelpers::mon_thousands_sep_or_default(FR_MON_THOU_SEP);
+  return LocaleHelpers::convert_thousands_sep(in, fr_sep);
 }
 #endif // TEST_HAS_NO_WIDE_CHARACTERS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libcxx-20.1.6.src/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
 
new/libcxx-20.1.7.src/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
--- 
old/libcxx-20.1.6.src/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
    2025-05-28 00:33:46.000000000 +0200
+++ 
new/libcxx-20.1.7.src/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
    2025-06-13 06:54:32.000000000 +0200
@@ -11,6 +11,8 @@
 
 // REQUIRES: locale.ru_RU.UTF-8
 
+// ADDITIONAL_COMPILE_FLAGS: 
-DRU_MON_THOU_SEP=%{LOCALE_CONV_RU_RU_UTF_8_MON_THOUSANDS_SEP}
+
 // XFAIL: glibc-old-ru_RU-decimal-point
 
 // <locale>
@@ -52,7 +54,8 @@
 };
 
 static std::wstring convert_thousands_sep(std::wstring const& in) {
-  return LocaleHelpers::convert_thousands_sep_ru_RU(in);
+  const wchar_t ru_sep = 
LocaleHelpers::mon_thousands_sep_or_default(RU_MON_THOU_SEP);
+  return LocaleHelpers::convert_thousands_sep(in, ru_sep);
 }
 #endif // TEST_HAS_NO_WIDE_CHARACTERS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libcxx-20.1.6.src/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
 
new/libcxx-20.1.7.src/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
--- 
old/libcxx-20.1.6.src/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
    2025-05-28 00:33:46.000000000 +0200
+++ 
new/libcxx-20.1.7.src/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
    2025-06-13 06:54:32.000000000 +0200
@@ -13,6 +13,8 @@
 
 // REQUIRES: locale.fr_FR.UTF-8
 
+// ADDITIONAL_COMPILE_FLAGS: 
-DFR_MON_THOU_SEP=%{LOCALE_CONV_FR_FR_UTF_8_MON_THOUSANDS_SEP}
+
 // <locale>
 
 // class money_put<charT, OutputIterator>
@@ -59,7 +61,8 @@
 };
 
 static std::wstring convert_thousands_sep(std::wstring const& in) {
-  return LocaleHelpers::convert_thousands_sep_fr_FR(in);
+  const wchar_t fr_sep = 
LocaleHelpers::mon_thousands_sep_or_default(FR_MON_THOU_SEP);
+  return LocaleHelpers::convert_thousands_sep(in, fr_sep);
 }
 #endif // TEST_HAS_NO_WIDE_CHARACTERS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libcxx-20.1.6.src/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
 
new/libcxx-20.1.7.src/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
--- 
old/libcxx-20.1.6.src/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
    2025-05-28 00:33:46.000000000 +0200
+++ 
new/libcxx-20.1.7.src/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
    2025-06-13 06:54:32.000000000 +0200
@@ -11,6 +11,8 @@
 
 // REQUIRES: locale.ru_RU.UTF-8
 
+// ADDITIONAL_COMPILE_FLAGS: 
-DRU_MON_THOU_SEP=%{LOCALE_CONV_RU_RU_UTF_8_MON_THOUSANDS_SEP}
+
 // XFAIL: glibc-old-ru_RU-decimal-point
 
 // <locale>
@@ -52,7 +54,8 @@
 };
 
 static std::wstring convert_thousands_sep(std::wstring const& in) {
-  return LocaleHelpers::convert_thousands_sep_ru_RU(in);
+  const wchar_t ru_sep = 
LocaleHelpers::mon_thousands_sep_or_default(RU_MON_THOU_SEP);
+  return LocaleHelpers::convert_thousands_sep(in, ru_sep);
 }
 #endif // TEST_HAS_NO_WIDE_CHARACTERS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libcxx-20.1.6.src/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp
 
new/libcxx-20.1.7.src/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp
--- 
old/libcxx-20.1.6.src/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp
     2025-05-28 00:33:46.000000000 +0200
+++ 
new/libcxx-20.1.7.src/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp
     2025-06-13 06:54:32.000000000 +0200
@@ -9,13 +9,14 @@
 // NetBSD does not support LC_MONETARY at the moment
 // XFAIL: netbsd
 
-// XFAIL: LIBCXX-FREEBSD-FIXME
-
 // REQUIRES: locale.en_US.UTF-8
 // REQUIRES: locale.fr_FR.UTF-8
 // REQUIRES: locale.ru_RU.UTF-8
 // REQUIRES: locale.zh_CN.UTF-8
 
+// ADDITIONAL_COMPILE_FLAGS: 
-DFR_MON_THOU_SEP=%{LOCALE_CONV_FR_FR_UTF_8_MON_THOUSANDS_SEP}
+// ADDITIONAL_COMPILE_FLAGS: 
-DRU_MON_THOU_SEP=%{LOCALE_CONV_RU_RU_UTF_8_MON_THOUSANDS_SEP}
+
 // <locale>
 
 // class moneypunct_byname<charT, International>
@@ -27,6 +28,7 @@
 #include <cassert>
 
 #include "test_macros.h"
+#include "locale_helpers.h"
 #include "platform_support.h" // locale name macros
 
 class Fnf
@@ -110,17 +112,10 @@
         Fnt f(LOCALE_fr_FR_UTF_8, 1);
         assert(f.thousands_sep() == ' ');
     }
-    // The below tests work around GLIBC's use of U202F as mon_thousands_sep.
+
 #ifndef TEST_HAS_NO_WIDE_CHARACTERS
-#if defined(_CS_GNU_LIBC_VERSION)
-    const wchar_t fr_sep = glibc_version_less_than("2.27") ? L' ' : L'\u202F';
-#elif defined(_WIN32)
-    const wchar_t fr_sep = L'\u00A0';
-#elif defined(_AIX)
-    const wchar_t fr_sep = L'\u202F';
-#else
-    const wchar_t fr_sep = L' ';
-#endif
+    const wchar_t fr_sep = 
LocaleHelpers::mon_thousands_sep_or_default(FR_MON_THOU_SEP);
+
     {
         Fwf f(LOCALE_fr_FR_UTF_8, 1);
         assert(f.thousands_sep() == fr_sep);
@@ -140,19 +135,8 @@
         assert(f.thousands_sep() == sep);
     }
 #ifndef TEST_HAS_NO_WIDE_CHARACTERS
-    // The below tests work around GLIBC's use of U00A0 as mon_thousands_sep
-    // and U002E as mon_decimal_point.
-    // TODO: Fix thousands_sep for 'char'.
-    // related to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=16006
-#   if defined(_CS_GNU_LIBC_VERSION)
-    // FIXME libc++ specifically works around \u00A0 by translating it into
-    // a regular space.
-    const wchar_t wsep = glibc_version_less_than("2.27") ? L'\u00A0' : 
L'\u202F';
-#   elif defined(_WIN32) || defined(_AIX)
-    const wchar_t wsep = L'\u00A0';
-#   else
-    const wchar_t wsep = L' ';
-#   endif
+    const wchar_t wsep = 
LocaleHelpers::mon_thousands_sep_or_default(RU_MON_THOU_SEP);
+
     {
         Fwf f(LOCALE_ru_RU_UTF_8, 1);
         assert(f.thousands_sep() == wsep);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libcxx-20.1.6.src/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
 
new/libcxx-20.1.7.src/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
--- 
old/libcxx-20.1.6.src/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
  2025-05-28 00:33:46.000000000 +0200
+++ 
new/libcxx-20.1.7.src/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
  2025-06-13 06:54:32.000000000 +0200
@@ -14,6 +14,8 @@
 // REQUIRES: locale.en_US.UTF-8
 // REQUIRES: locale.fr_FR.UTF-8
 
+// ADDITIONAL_COMPILE_FLAGS: 
-DFR_THOU_SEP=%{LOCALE_CONV_FR_FR_UTF_8_THOUSANDS_SEP}
+
 // <locale>
 
 // template <class charT> class numpunct_byname;
@@ -25,6 +27,7 @@
 #include <cassert>
 
 #include "test_macros.h"
+#include "locale_helpers.h"
 #include "platform_support.h" // locale name macros
 
 int main(int, char**)
@@ -74,18 +77,11 @@
         }
 #ifndef TEST_HAS_NO_WIDE_CHARACTERS
         {
-#if defined(_CS_GNU_LIBC_VERSION)
-            const wchar_t wsep = glibc_version_less_than("2.27") ? L' ' : 
L'\u202f';
-#  elif defined(_AIX)
-            const wchar_t wsep = L'\u202F';
-#  elif defined(_WIN32)
-            const wchar_t wsep = L'\u00A0';
-#  else
-            const wchar_t wsep = L',';
-#  endif
-            typedef wchar_t C;
-            const std::numpunct<C>& np = std::use_facet<std::numpunct<C> >(l);
-            assert(np.thousands_sep() == wsep);
+          const wchar_t wsep = 
LocaleHelpers::thousands_sep_or_default(FR_THOU_SEP);
+
+          typedef wchar_t C;
+          const std::numpunct<C>& np = std::use_facet<std::numpunct<C> >(l);
+          assert(np.thousands_sep() == wsep);
         }
 #endif // TEST_HAS_NO_WIDE_CHARACTERS
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libcxx-20.1.6.src/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp
 
new/libcxx-20.1.7.src/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp
--- 
old/libcxx-20.1.6.src/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp
  2025-05-28 00:33:46.000000000 +0200
+++ 
new/libcxx-20.1.7.src/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp
  2025-06-13 06:54:32.000000000 +0200
@@ -16,6 +16,9 @@
 // REQUIRES: locale.fr_FR.UTF-8
 // REQUIRES: locale.ja_JP.UTF-8
 
+// ADDITIONAL_COMPILE_FLAGS: 
-DFR_THOU_SEP=%{LOCALE_CONV_FR_FR_UTF_8_THOUSANDS_SEP}
+// ADDITIONAL_COMPILE_FLAGS: 
-DFR_DEC_POINT=%{LOCALE_CONV_FR_FR_UTF_8_DECIMAL_POINT}
+
 // <chrono>
 
 // template<class Rep, class Period = ratio<1>> class duration;
@@ -33,6 +36,7 @@
 #include <sstream>
 
 #include "make_string.h"
+#include "locale_helpers.h"
 #include "platform_support.h" // locale name macros
 #include "test_macros.h"
 
@@ -88,21 +92,11 @@
     assert(stream_fr_FR_locale<CharT>(1'000.123456s) == SV("1 000,1235s"));
 #endif
   } else {
-#ifdef _WIN32
-    assert(stream_fr_FR_locale<CharT>(-1'000'000s) == 
SV("-1\u00A0000\u00A0000s"));
-    assert(stream_fr_FR_locale<CharT>(1'000'000s) == 
SV("1\u00A0000\u00A0000s"));
-    assert(stream_fr_FR_locale<CharT>(-1'000.123456s) == 
SV("-1\u00A0000,1235s"));
-    assert(stream_fr_FR_locale<CharT>(1'000.123456s) == 
SV("1\u00A0000,1235s"));
-#elif defined(__APPLE__)
-    assert(stream_fr_FR_locale<CharT>(-1'000'000s) == SV("-1000000s"));
-    assert(stream_fr_FR_locale<CharT>(1'000'000s) == SV("1000000s"));
-    assert(stream_fr_FR_locale<CharT>(-1'000.123456s) == SV("-1000,1235s"));
-    assert(stream_fr_FR_locale<CharT>(1'000.123456s) == SV("1000,1235s"));
-#else
-    assert(stream_fr_FR_locale<CharT>(-1'000'000s) == 
SV("-1\u202f000\u202f000s"));
-    assert(stream_fr_FR_locale<CharT>(1'000'000s) == 
SV("1\u202f000\u202f000s"));
-    assert(stream_fr_FR_locale<CharT>(-1'000.123456s) == 
SV("-1\u202f000,1235s"));
-    assert(stream_fr_FR_locale<CharT>(1'000.123456s) == 
SV("1\u202f000,1235s"));
+#ifndef TEST_HAS_NO_WIDE_CHARACTERS
+    assert(stream_fr_FR_locale<CharT>(-1'000'000s) == L"-1" FR_THOU_SEP "000" 
FR_THOU_SEP "000s");
+    assert(stream_fr_FR_locale<CharT>(1'000'000s) == L"1" FR_THOU_SEP "000" 
FR_THOU_SEP "000s");
+    assert(stream_fr_FR_locale<CharT>(-1'000.123456s) == L"-1" FR_THOU_SEP 
"000" FR_DEC_POINT "1235s");
+    assert(stream_fr_FR_locale<CharT>(1'000.123456s) == L"1" FR_THOU_SEP "000" 
FR_DEC_POINT "1235s");
 #endif
   }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcxx-20.1.6.src/test/support/locale_helpers.h 
new/libcxx-20.1.7.src/test/support/locale_helpers.h
--- old/libcxx-20.1.6.src/test/support/locale_helpers.h 2025-05-28 
00:33:46.000000000 +0200
+++ new/libcxx-20.1.7.src/test/support/locale_helpers.h 2025-06-13 
06:54:32.000000000 +0200
@@ -41,37 +41,6 @@
   return out;
 }
 
-// GLIBC 2.27 and newer use U+202F NARROW NO-BREAK SPACE as a thousands 
separator.
-// This function converts the spaces in string inputs to U+202F if need
-// be. FreeBSD's locale data also uses U+202F, since 2018.
-// Windows uses U+00A0 NO-BREAK SPACE.
-std::wstring convert_thousands_sep_fr_FR(std::wstring const& in) {
-#if defined(_CS_GNU_LIBC_VERSION)
-  if (glibc_version_less_than("2.27"))
-    return in;
-  else
-    return convert_thousands_sep(in, L'\u202F');
-#elif defined(__FreeBSD__)
-  return convert_thousands_sep(in, L'\u202F');
-#elif defined(_WIN32)
-  return convert_thousands_sep(in, L'\u00A0');
-#else
-  return in;
-#endif
-}
-
-// GLIBC 2.27 uses U+202F NARROW NO-BREAK SPACE as a thousands separator.
-// FreeBSD, AIX and Windows use U+00A0 NO-BREAK SPACE.
-std::wstring convert_thousands_sep_ru_RU(std::wstring const& in) {
-#if defined(TEST_HAS_GLIBC)
-  return convert_thousands_sep(in, L'\u202F');
-#  elif defined(__FreeBSD__) || defined(_WIN32) || defined(_AIX)
-  return convert_thousands_sep(in, L'\u00A0');
-#  else
-  return in;
-#  endif
-}
-
 std::wstring negate_en_US(std::wstring s) {
 #if defined(_WIN32)
   return L"(" + s + L")";
@@ -80,6 +49,12 @@
 #endif
 }
 
+wchar_t thousands_sep_or_default(std::wstring s) { return !s.empty() ? s[0] : 
L','; }
+
+wchar_t mon_thousands_sep_or_default(std::wstring s) { return 
thousands_sep_or_default(s); }
+
+wchar_t decimal_point_or_default(std::wstring s) { return !s.empty() ? s[0] : 
L'.'; }
+
 #endif // TEST_HAS_NO_WIDE_CHARACTERS
 
 std::string negate_en_US(std::string s) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcxx-20.1.6.src/utils/libcxx/test/features.py 
new/libcxx-20.1.7.src/utils/libcxx/test/features.py
--- old/libcxx-20.1.6.src/utils/libcxx/test/features.py 2025-05-28 
00:33:46.000000000 +0200
+++ new/libcxx-20.1.7.src/utils/libcxx/test/features.py 2025-06-13 
06:54:32.000000000 +0200
@@ -425,6 +425,10 @@
     "fr_CA.ISO8859-1": ["fr_CA.ISO8859-1", "French_Canada.1252"],
     "cs_CZ.ISO8859-2": ["cs_CZ.ISO8859-2", "Czech_Czech Republic.1250"],
 }
+provide_locale_conversions = {
+    "fr_FR.UTF-8": ["decimal_point", "mon_thousands_sep", "thousands_sep"],
+    "ru_RU.UTF-8": ["mon_thousands_sep"],
+}
 for locale, alts in locales.items():
     # Note: Using alts directly in the lambda body here will bind it to the 
value at the
     # end of the loop. Assigning it to a default argument works around this 
issue.
@@ -432,8 +436,94 @@
         Feature(
             name="locale.{}".format(locale),
             when=lambda cfg, alts=alts: hasAnyLocale(cfg, alts),
-        )
+            actions=lambda cfg, locale=locale, alts=alts: 
_getLocaleFlagsAction(
+                cfg, locale, alts, provide_locale_conversions[locale]
+            )
+            if locale in provide_locale_conversions
+            and ("_LIBCPP_HAS_WIDE_CHARACTERS" not in compilerMacros(cfg) or
+                 compilerMacros(cfg)["_LIBCPP_HAS_WIDE_CHARACTERS"] == "1")
+            else [],
+        ),
+    )
+
+
+# Provide environment locale conversions through substitutions to avoid 
platform specific
+# maintenance.
+def _getLocaleFlagsAction(cfg, locale, alts, members):
+    alts_list = ",".join([f'"{l}"' for l in alts])
+    get_member_list = ",".join([f"lc->{m}" for m in members])
+
+    localeconv_info = programOutput(
+        cfg,
+        r"""
+        #if defined(_WIN32) && !defined(_CRT_SECURE_NO_WARNINGS)
+        #define _CRT_SECURE_NO_WARNINGS
+        #endif
+        #include <stdio.h>
+        #include <locale.h>
+        #include <stdlib.h>
+        #include <wchar.h>
+
+        // Print each requested locale conversion member on separate lines.
+        int main() {
+          const char* locales[] = { %s };
+          for (int loc_i = 0; loc_i < %d; ++loc_i) {
+            if (!setlocale(LC_ALL, locales[loc_i])) {
+              continue; // Choose first locale name that is recognized.
+            }
+
+            lconv* lc = localeconv();
+            const char* members[] = { %s };
+            for (size_t m_i = 0; m_i < %d; ++m_i) {
+              if (!members[m_i]) {
+                printf("\n"); // member value is an empty string
+                continue;
+              }
+
+              size_t len = mbstowcs(nullptr, members[m_i], 0);
+              if (len == static_cast<size_t>(-1)) {
+                fprintf(stderr, "mbstowcs failed unexpectedly\n");
+                return 1;
+              }
+              // Include room for null terminator. Use malloc as these features
+              // are also used by lit configs that don't use -lc++ (libunwind 
tests).
+              wchar_t* dst = (wchar_t*)malloc((len + 1) * sizeof(wchar_t));
+              size_t ret = mbstowcs(dst, members[m_i], len + 1);
+              if (ret == static_cast<size_t>(-1)) {
+                fprintf(stderr, "mbstowcs failed unexpectedly\n");
+                free(dst);
+                return 1;
+              }
+
+              for (size_t i = 0; i < len; ++i) {
+                if (dst[i] > 0x7F) {
+                  printf("\\u%%04x", dst[i]);
+                } else {
+                  // c++03 does not allow basic ascii-range characters in UCNs
+                  printf("%%c", (char)dst[i]);
+                }
+              }
+              printf("\n");
+              free(dst);
+            }
+            return 0;
+          }
+
+          return 1;
+        }
+        """
+        % (alts_list, len(alts), get_member_list, len(members)),
     )
+    valid_define_name = re.sub(r"[.-]", "_", locale).upper()
+    return [
+        # Provide locale conversion through a substitution.
+        # Example: %{LOCALE_CONV_FR_FR_UTF_8_THOUSANDS_SEP} = L"\u202f"
+        AddSubstitution(
+            f"%{{LOCALE_CONV_{valid_define_name}_{member.upper()}}}",
+            lambda cfg, value=value: f"'L\"{value}\"'",
+        )
+        for member, value in zip(members, localeconv_info.split("\n"))
+    ]
 
 
 # Add features representing the target platform name: darwin, linux, windows, 
etc...

++++++ libcxxabi-20.1.6.src.tar.xz -> libcxxabi-20.1.7.src.tar.xz ++++++

++++++ lld-20.1.6.src.tar.xz -> lld-20.1.7.src.tar.xz ++++++

++++++ lldb-20.1.6.src.tar.xz -> lldb-20.1.7.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm20/lldb-20.1.6.src.tar.xz 
/work/SRC/openSUSE:Factory/.llvm20.new.7067/lldb-20.1.7.src.tar.xz differ: char 
15, line 1

++++++ llvm-20.1.6.src.tar.xz -> llvm-20.1.7.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm20/llvm-20.1.6.src.tar.xz 
/work/SRC/openSUSE:Factory/.llvm20.new.7067/llvm-20.1.7.src.tar.xz differ: char 
15, line 1

++++++ llvm-do-not-install-static-libraries.patch ++++++
--- /var/tmp/diff_new_pack.Hh0Hro/_old  2025-06-30 13:04:51.657855318 +0200
+++ /var/tmp/diff_new_pack.Hh0Hro/_new  2025-06-30 13:04:51.661855485 +0200
@@ -2,10 +2,10 @@
 want after installation. By not copying them in the first place we reduce the
 disk usage during installation.
 
-Index: clang-20.1.6.src/cmake/modules/AddClang.cmake
+Index: clang-20.1.7.src/cmake/modules/AddClang.cmake
 ===================================================================
---- a/clang-20.1.6.src/cmake/modules/AddClang.cmake
-+++ b/clang-20.1.6.src/cmake/modules/AddClang.cmake
+--- a/clang-20.1.7.src/cmake/modules/AddClang.cmake
++++ b/clang-20.1.7.src/cmake/modules/AddClang.cmake
 @@ -106,12 +106,15 @@ macro(add_clang_library name)
  
        if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ARG_INSTALL_WITH_TOOLCHAIN)
@@ -73,10 +73,10 @@
    endif()
  
    get_subproject_title(subproject_title)
-Index: lld-20.1.6.src/cmake/modules/AddLLD.cmake
+Index: lld-20.1.7.src/cmake/modules/AddLLD.cmake
 ===================================================================
---- a/lld-20.1.6.src/cmake/modules/AddLLD.cmake
-+++ b/lld-20.1.6.src/cmake/modules/AddLLD.cmake
+--- a/lld-20.1.7.src/cmake/modules/AddLLD.cmake
++++ b/lld-20.1.7.src/cmake/modules/AddLLD.cmake
 @@ -17,13 +17,6 @@ macro(add_lld_library name)
  
    if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
@@ -91,10 +91,10 @@
      if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
        add_llvm_install_targets(install-${name}
          DEPENDS ${name}
-Index: polly-20.1.6.src/cmake/polly_macros.cmake
+Index: polly-20.1.7.src/cmake/polly_macros.cmake
 ===================================================================
---- a/polly-20.1.6.src/cmake/polly_macros.cmake
-+++ b/polly-20.1.6.src/cmake/polly_macros.cmake
+--- a/polly-20.1.7.src/cmake/polly_macros.cmake
++++ b/polly-20.1.7.src/cmake/polly_macros.cmake
 @@ -43,16 +43,18 @@
      if (LLVM_POLLY_LINK_INTO_TOOLS)
        set(exports EXPORT LLVMExports)
@@ -125,10 +125,10 @@
  endmacro(add_polly_library)
  
  macro(add_polly_loadable_module name)
-Index: polly-20.1.6.src/lib/CMakeLists.txt
+Index: polly-20.1.7.src/lib/CMakeLists.txt
 ===================================================================
---- a/polly-20.1.6.src/lib/CMakeLists.txt
-+++ b/polly-20.1.6.src/lib/CMakeLists.txt
+--- a/polly-20.1.7.src/lib/CMakeLists.txt
++++ b/polly-20.1.7.src/lib/CMakeLists.txt
 @@ -109,7 +109,7 @@ set_target_properties(PollyCore PROPERTI
  # It depends on all library it needs, such that with
  # LLVM_POLLY_LINK_INTO_TOOLS=ON, its dependencies like PollyISL are linked as

++++++ llvm-docs-20.1.6.src.tar.xz -> llvm-docs-20.1.7.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm20/llvm-docs-20.1.6.src.tar.xz 
/work/SRC/openSUSE:Factory/.llvm20.new.7067/llvm-docs-20.1.7.src.tar.xz differ: 
char 15, line 1

++++++ openmp-20.1.6.src.tar.xz -> openmp-20.1.7.src.tar.xz ++++++

++++++ polly-20.1.6.src.tar.xz -> polly-20.1.7.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm20/polly-20.1.6.src.tar.xz 
/work/SRC/openSUSE:Factory/.llvm20.new.7067/polly-20.1.7.src.tar.xz differ: 
char 15, line 1

++++++ runtimes-20.1.6.src.tar.xz -> runtimes-20.1.7.src.tar.xz ++++++

++++++ third-party-20.1.6.src.tar.xz -> third-party-20.1.7.src.tar.xz ++++++

Reply via email to