Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package llvm15 for openSUSE:Factory checked 
in at 2022-10-11 18:01:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/llvm15 (Old)
 and      /work/SRC/openSUSE:Factory/.llvm15.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "llvm15"

Tue Oct 11 18:01:42 2022 rev:2 rq:1008060 version:15.0.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/llvm15/llvm15.changes    2022-10-04 
20:37:28.416894791 +0200
+++ /work/SRC/openSUSE:Factory/.llvm15.new.2275/llvm15.changes  2022-10-11 
18:04:06.421944867 +0200
@@ -1,0 +2,8 @@
+Tue Oct  4 21:41:05 UTC 2022 - Aaron Puchert <aaronpuch...@alice-dsl.net>
+
+- Update to version 15.0.2.
+  * This release contains bug-fixes for the LLVM 15.0.0 release.
+    This release is API and ABI compatible with 15.0.0.
+- Rebase llvm-do-not-install-static-libraries.patch.
+
+-------------------------------------------------------------------
@@ -5 +13 @@
-  * This release contains bug-fixes for the LLVM 15.0.1 release.
+  * This release contains bug-fixes for the LLVM 15.0.0 release.

Old:
----
  clang-15.0.1.src.tar.xz
  clang-docs-15.0.1.src.tar.xz
  clang-tools-extra-15.0.1.src.tar.xz
  cmake-15.0.1.src.tar.xz
  compiler-rt-15.0.1.src.tar.xz
  libcxx-15.0.1.src.tar.xz
  libcxxabi-15.0.1.src.tar.xz
  lld-15.0.1.src.tar.xz
  lldb-15.0.1.src.tar.xz
  llvm-15.0.1.src.tar.xz
  llvm-docs-15.0.1.src.tar.xz
  openmp-15.0.1.src.tar.xz
  polly-15.0.1.src.tar.xz

New:
----
  clang-15.0.2.src.tar.xz
  clang-docs-15.0.2.src.tar.xz
  clang-tools-extra-15.0.2.src.tar.xz
  cmake-15.0.2.src.tar.xz
  compiler-rt-15.0.2.src.tar.xz
  libcxx-15.0.2.src.tar.xz
  libcxxabi-15.0.2.src.tar.xz
  lld-15.0.2.src.tar.xz
  lldb-15.0.2.src.tar.xz
  llvm-15.0.2.src.tar.xz
  llvm-docs-15.0.2.src.tar.xz
  openmp-15.0.2.src.tar.xz
  polly-15.0.2.src.tar.xz

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

Other differences:
------------------
++++++ llvm15.spec ++++++
--- /var/tmp/diff_new_pack.N6MYcK/_old  2022-10-11 18:04:08.029947466 +0200
+++ /var/tmp/diff_new_pack.N6MYcK/_new  2022-10-11 18:04:08.037947479 +0200
@@ -16,14 +16,14 @@
 #
 
 
-%define _relver 15.0.1
+%define _relver 15.0.2
 %define _version %_relver%{?_rc:rc%_rc}
 %define _tagver %_relver%{?_rc:-rc%_rc}
 %define _minor  15.0
 %define _sonum  15
 %define _itsme15 1
 # Integer version used by update-alternatives
-%define _uaver  1501
+%define _uaver  1502
 %define _soclang 13
 %define _socxx  1
 

++++++ clang-15.0.1.src.tar.xz -> clang-15.0.2.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm15/clang-15.0.1.src.tar.xz 
/work/SRC/openSUSE:Factory/.llvm15.new.2275/clang-15.0.2.src.tar.xz differ: 
char 15, line 1

++++++ clang-docs-15.0.1.src.tar.xz -> clang-docs-15.0.2.src.tar.xz ++++++
++++ 2058 lines of diff (skipped)

++++++ clang-tools-extra-15.0.1.src.tar.xz -> 
clang-tools-extra-15.0.2.src.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/clang-tools-extra-15.0.1.src/clang-tidy/misc/ConstCorrectnessCheck.cpp 
new/clang-tools-extra-15.0.2.src/clang-tidy/misc/ConstCorrectnessCheck.cpp
--- old/clang-tools-extra-15.0.1.src/clang-tidy/misc/ConstCorrectnessCheck.cpp  
2022-09-20 08:05:50.000000000 +0200
+++ new/clang-tools-extra-15.0.2.src/clang-tidy/misc/ConstCorrectnessCheck.cpp  
2022-10-04 11:29:17.000000000 +0200
@@ -12,8 +12,6 @@
 #include "clang/ASTMatchers/ASTMatchFinder.h"
 #include "clang/ASTMatchers/ASTMatchers.h"
 
-#include <iostream>
-
 using namespace clang::ast_matchers;
 
 namespace clang {
@@ -132,6 +130,12 @@
     VC = VariableCategory::Reference;
   if (Variable->getType()->isPointerType())
     VC = VariableCategory::Pointer;
+  if (Variable->getType()->isArrayType()) {
+    if (const auto *ArrayT = dyn_cast<ArrayType>(Variable->getType())) {
+      if (ArrayT->getElementType()->isPointerType())
+        VC = VariableCategory::Pointer;
+    }
+  }
 
   // Each variable can only be in one category: Value, Pointer, Reference.
   // Analysis can be controlled for every category.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/clang-tools-extra-15.0.1.src/docs/clang-tidy/checks/misc/const-correctness.rst
 
new/clang-tools-extra-15.0.2.src/docs/clang-tidy/checks/misc/const-correctness.rst
--- 
old/clang-tools-extra-15.0.1.src/docs/clang-tidy/checks/misc/const-correctness.rst
  2022-09-20 08:05:50.000000000 +0200
+++ 
new/clang-tools-extra-15.0.2.src/docs/clang-tidy/checks/misc/const-correctness.rst
  2022-10-04 11:29:17.000000000 +0200
@@ -4,12 +4,12 @@
 ======================
 
 This check implements detection of local variables which could be declared as
-``const``, but are not. Declaring variables as ``const`` is required or 
recommended by many
+``const`` but are not. Declaring variables as ``const`` is required or 
recommended by many
 coding guidelines, such as:
 `CppCoreGuidelines ES.25 
<https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#es25-declare-an-object-const-or-constexpr-unless-you-want-to-modify-its-value-later-on>`_
 and `AUTOSAR C++14 Rule A7-1-1 (6.7.1 Specifiers) 
<https://www.autosar.org/fileadmin/user_upload/standards/adaptive/17-03/AUTOSAR_RS_CPP14Guidelines.pdf>`_.
 
-Please note that this analysis is type-based only. Variables that are not 
modified
+Please note that this check's analysis is type-based only. Variables that are 
not modified
 but used to create a non-const handle that might escape the scope are not 
diagnosed
 as potential ``const``.
 
@@ -18,25 +18,29 @@
   // Declare a variable, which is not ``const`` ...
   int i = 42;
   // but use it as read-only. This means that `i` can be declared ``const``.
-  int result = i * i;
+  int result = i * i;       // Before transformation
+  int const result = i * i; // After transformation
 
-The check can analyzes values, pointers and references but not (yet) pointees:
+The check can analyze values, pointers and references but not (yet) pointees:
 
 .. code-block:: c++
 
   // Normal values like built-ins or objects.
-  int potential_const_int = 42; // 'const int potential_const_int = 42' 
suggestion.
+  int potential_const_int = 42;       // Before transformation
+  int const potential_const_int = 42; // After transformation
   int copy_of_value = potential_const_int;
 
-  MyClass could_be_const; // 'const MyClass could_be_const' suggestion;
+  MyClass could_be_const;       // Before transformation
+  MyClass const could_be_const; // After transformation
   could_be_const.const_qualified_method();
 
   // References can be declared const as well.
-  int &reference_value = potential_const_int; // 'const int &reference_value' 
suggestion.
+  int &reference_value = potential_const_int;       // Before transformation
+  int const& reference_value = potential_const_int; // After transformation
   int another_copy = reference_value;
 
   // The similar semantics of pointers are not (yet) analyzed.
-  int *pointer_variable = &potential_const_int; // Not 'const int 
*pointer_variable' suggestion.
+  int *pointer_variable = &potential_const_int; // _NO_ 'const int 
*pointer_variable' suggestion.
   int last_copy = *pointer_variable;
 
 The automatic code transformation is only applied to variables that are 
declared in single
@@ -44,18 +48,20 @@
 `readability-isolate-declaration <readability-isolate-declaration.html>`_ 
first.
 
 Note that there is the check
-`cppcoreguidelines-avoid-non-const-global-variables 
<cppcoreguidelines-avoid-non-const-global-variables.html>`_
+`cppcoreguidelines-avoid-non-const-global-variables 
<../cppcoreguidelines/avoid-non-const-global-variables.html>`_
 to enforce ``const`` correctness on all globals.
 
 Known Limitations
 -----------------
 
+The check does not run on `C` code.
+
 The check will not analyze templated variables or variables that are 
instantiation dependent.
 Different instantiations can result in different ``const`` correctness 
properties and in general it
-is not possible to find all instantiations of a template. It might be used 
differently in an
-independent translation unit.
+is not possible to find all instantiations of a template. The template might 
be used differently in
+an independent translation unit.
 
-Pointees can not be analyzed for constness yet. The following code is shows 
this limitation.
+Pointees can not be analyzed for constness yet. The following code shows this 
limitation.
 
 .. code-block:: c++
 
@@ -74,15 +80,35 @@
 Options
 -------
 
-.. option:: AnalyzeValues (default = 1)
+.. option:: AnalyzeValues (default = true)
 
   Enable or disable the analysis of ordinary value variables, like ``int i = 
42;``
 
-.. option:: AnalyzeReferences (default = 1)
+  .. code-block:: c++
+
+    // Warning
+    int i = 42;
+    // No warning
+    int const i = 42;
+
+    // Warning
+    int a[] = {42, 42, 42};
+    // No warning
+    int const a[] = {42, 42, 42};
+
+.. option:: AnalyzeReferences (default = true)
 
   Enable or disable the analysis of reference variables, like ``int &ref = i;``
 
-.. option:: WarnPointersAsValues (default = 0)
+  .. code-block:: c++
+
+    int i = 42;
+    // Warning
+    int& ref = i;
+    // No warning
+    int const& ref = i;
+
+.. option:: WarnPointersAsValues (default = false)
 
   This option enables the suggestion for ``const`` of the pointer itself.
   Pointer values have two possibilities to be ``const``, the pointer
@@ -90,28 +116,36 @@
 
   .. code-block:: c++
 
-    const int value = 42;
-    const int * const pointer_variable = &value;
+    int value = 42;
 
-    // The following operations are forbidden for `pointer_variable`.
-    // *pointer_variable = 44;
-    // pointer_variable = nullptr;
+    // Warning
+    const int * pointer_variable = &value;
+    // No warning
+    const int *const pointer_variable = &value;
 
-.. option:: TransformValues (default = 1)
+.. option:: TransformValues (default = true)
 
-  Provides fixit-hints for value types that automatically adds ``const`` if 
its a single declaration.
+  Provides fixit-hints for value types that automatically add ``const`` if its 
a single declaration.
 
   .. code-block:: c++
 
-    // Emits a hint for 'value' to become 'const int value = 42;'.
+    // Before
     int value = 42;
+    // After
+    int const value = 42;
+
+    // Before
+    int a[] = {42, 42, 42};
+    // After
+    int const a[] = {42, 42, 42};
+
     // Result is modified later in its life-time. No diagnostic and fixit hint 
will be emitted.
     int result = value * 3;
     result -= 10;
 
-.. option:: TransformReferences (default = 1)
+.. option:: TransformReferences (default = true)
 
-  Provides fixit-hints for reference types that automatically adds ``const`` 
if its a single
+  Provides fixit-hints for reference types that automatically add ``const`` if 
its a single
   declaration.
 
   .. code-block:: c++
@@ -120,31 +154,45 @@
     // it, it can not be transformed (yet).
     int value = 42;
     // The reference 'ref_value' is not modified and can be made 'const int 
&ref_value = value;'
+    // Before
     int &ref_value = value;
+    // After
+    int const &ref_value = value;
 
     // Result is modified later in its life-time. No diagnostic and fixit hint 
will be emitted.
     int result = ref_value * 3;
     result -= 10;
 
-.. option:: TransformPointersAsValues (default = 0)
+.. option:: TransformPointersAsValues (default = false)
 
   Provides fixit-hints for pointers if their pointee is not changed. This does 
not analyze if the
   value-pointed-to is unchanged!
 
-  Requires 'WarnPointersAsValues' to be 1.
+  Requires 'WarnPointersAsValues' to be 'true'.
 
   .. code-block:: c++
 
     int value = 42;
-    // Emits a hint that 'ptr_value' may become 'int *const ptr_value = 
&value' because its pointee
-    // is not changed.
+
+    // Before
+    const int * pointer_variable = &value;
+    // After
+    const int *const pointer_variable = &value;
+
+    // Before
+    const int * a[] = {&value, &value};
+    // After
+    const int *const a[] = {&value, &value};
+
+    // Before
     int *ptr_value = &value;
+    // After
+    int *const ptr_value = &value;
 
-    int result = 100 * (*ptr_value);
-    // This modification of the pointee is still allowed and not 
analyzed/diagnosed.
+    int result = 100 * (*ptr_value); // Does not modify the pointer itself.
+    // This modification of the pointee is still allowed and not diagnosed.
     *ptr_value = 0;
 
     // The following pointer may not become a 'int *const'.
     int *changing_pointee = &value;
     changing_pointee = &result;
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/clang-tools-extra-15.0.1.src/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
 
new/clang-tools-extra-15.0.2.src/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
--- 
old/clang-tools-extra-15.0.1.src/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
      2022-09-20 08:05:50.000000000 +0200
+++ 
new/clang-tools-extra-15.0.2.src/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
      2022-10-04 11:29:17.000000000 +0200
@@ -10,4 +10,65 @@
   double *p_local0 = &np_local0[1];
   // CHECK-MESSAGES: [[@LINE-1]]:3: warning: variable 'p_local0' of type 
'double *' can be declared 'const'
   // CHECK-FIXES: double *const p_local0
+
+  using doublePtr = double*;
+  using doubleArray = double[15];
+  doubleArray np_local1;
+  doublePtr p_local1 = &np_local1[0];
+  // CHECK-MESSAGES: [[@LINE-1]]:3: warning: variable 'p_local1' of type 
'doublePtr' (aka 'double *') can be declared 'const'
+  // CHECK-FIXES: doublePtr const p_local1
+}
+
+void range_for() {
+  int np_local0[2] = {1, 2};
+  int *p_local0[2] = {&np_local0[0], &np_local0[1]};
+  // CHECK-MESSAGES: [[@LINE-1]]:3: warning: variable 'p_local0' of type 'int 
*[2]' can be declared 'const'
+  // CHECK-FIXES: int *const p_local0[2]
+  for (const int *p_local1 : p_local0) {
+  // CHECK-MESSAGES: [[@LINE-1]]:8: warning: variable 'p_local1' of type 
'const int *' can be declared 'const'
+  // CHECK-FIXES: for (const int *const p_local1 : p_local0)
+  }
+
+  int *p_local2[2] = {nullptr, nullptr};
+  // CHECK-MESSAGES: [[@LINE-1]]:3: warning: variable 'p_local2' of type 'int 
*[2]' can be declared 'const'
+  // CHECK-FIXES: int *const p_local2[2]
+  for (const auto *con_ptr : p_local2) {
+  }
+
+}
+
+template <typename T>
+struct SmallVectorBase {
+  T data[4];
+  void push_back(const T &el) {}
+  int size() const { return 4; }
+  T *begin() { return data; }
+  const T *begin() const { return data; }
+  T *end() { return data + 4; }
+  const T *end() const { return data + 4; }
+};
+
+template <typename T>
+struct SmallVector : SmallVectorBase<T> {};
+
+template <class T>
+void EmitProtocolMethodList(T &&Methods) {
+  // Note: If the template is uninstantiated the analysis does not figure out,
+  // that p_local0 could be const. Not sure why, but probably bails because
+  // some expressions are type-dependent.
+  SmallVector<const int *> p_local0;
+  // CHECK-MESSAGES: [[@LINE-1]]:3: warning: variable 'p_local0' of type 
'SmallVector<const int *>' can be declared 'const'
+  // CHECK-FIXES: SmallVector<const int *> const p_local0
+  SmallVector<const int *> np_local0;
+  for (const auto *I : Methods) {
+    if (I == nullptr)
+      np_local0.push_back(I);
+  }
+  p_local0.size();
+}
+void instantiate() {
+  int *p_local0[4] = {nullptr, nullptr, nullptr, nullptr};
+  // CHECK-MESSAGES: [[@LINE-1]]:3: warning: variable 'p_local0' of type 'int 
*[4]' can be declared 'const'
+  // CHECK-FIXES: int *const p_local0[4]
+  EmitProtocolMethodList(p_local0);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/clang-tools-extra-15.0.1.src/test/clang-tidy/checkers/misc/const-correctness-values.cpp
 
new/clang-tools-extra-15.0.2.src/test/clang-tidy/checkers/misc/const-correctness-values.cpp
--- 
old/clang-tools-extra-15.0.1.src/test/clang-tidy/checkers/misc/const-correctness-values.cpp
 2022-09-20 08:05:50.000000000 +0200
+++ 
new/clang-tools-extra-15.0.2.src/test/clang-tidy/checkers/misc/const-correctness-values.cpp
 2022-10-04 11:29:17.000000000 +0200
@@ -526,18 +526,13 @@
   // CHECK-FIXES: int const p_local1[2]
   for (const int &const_ref : p_local1) {
   }
+}
 
-  int *p_local2[2] = {&np_local0[0], &np_local0[1]};
-  // CHECK-MESSAGES: [[@LINE-1]]:3: warning: variable 'p_local2' of type 'int 
*[2]' can be declared 'const'
-  // CHECK-FIXES: int *const p_local2[2]
-  for (const int *con_ptr : p_local2) {
-  }
-
-  int *p_local3[2] = {nullptr, nullptr};
-  // CHECK-MESSAGES: [[@LINE-1]]:3: warning: variable 'p_local3' of type 'int 
*[2]' can be declared 'const'
-  // CHECK-FIXES: int *const p_local3[2]
-  for (const auto *con_ptr : p_local3) {
-  }
+void arrays_of_pointers_are_ignored() {
+  int *np_local0[2] = {nullptr, nullptr};
+  
+  using intPtr = int*;
+  intPtr np_local1[2] = {nullptr, nullptr};
 }
 
 inline void *operator new(decltype(sizeof(void *)), void *p) { return p; }
@@ -908,41 +903,6 @@
   sizeof(int[++N]);
 }
 
-template <typename T>
-struct SmallVectorBase {
-  T data[4];
-  void push_back(const T &el) {}
-  int size() const { return 4; }
-  T *begin() { return data; }
-  const T *begin() const { return data; }
-  T *end() { return data + 4; }
-  const T *end() const { return data + 4; }
-};
-
-template <typename T>
-struct SmallVector : SmallVectorBase<T> {};
-
-template <class T>
-void EmitProtocolMethodList(T &&Methods) {
-  // Note: If the template is uninstantiated the analysis does not figure out,
-  // that p_local0 could be const. Not sure why, but probably bails because
-  // some expressions are type-dependent.
-  SmallVector<const int *> p_local0;
-  // CHECK-MESSAGES: [[@LINE-1]]:3: warning: variable 'p_local0' of type 
'SmallVector<const int *>' can be declared 'const'
-  // CHECK-FIXES: SmallVector<const int *> const p_local0
-  SmallVector<const int *> np_local0;
-  for (const auto *I : Methods) {
-    if (I == nullptr)
-      np_local0.push_back(I);
-  }
-  p_local0.size();
-}
-void instantiate() {
-  int *p_local0[4] = {nullptr, nullptr, nullptr, nullptr};
-  // CHECK-MESSAGES: [[@LINE-1]]:3: warning: variable 'p_local0' of type 'int 
*[4]' can be declared 'const'
-  // CHECK-FIXES: int *const p_local0[4]
-  EmitProtocolMethodList(p_local0);
-}
 struct base {
   int member;
 };

++++++ cmake-15.0.1.src.tar.xz -> cmake-15.0.2.src.tar.xz ++++++

++++++ compiler-rt-15.0.1.src.tar.xz -> compiler-rt-15.0.2.src.tar.xz ++++++

++++++ libcxx-15.0.1.src.tar.xz -> libcxx-15.0.2.src.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcxx-15.0.1.src/docs/ReleaseNotes.rst 
new/libcxx-15.0.2.src/docs/ReleaseNotes.rst
--- old/libcxx-15.0.1.src/docs/ReleaseNotes.rst 2022-09-20 08:05:50.000000000 
+0200
+++ new/libcxx-15.0.2.src/docs/ReleaseNotes.rst 2022-10-04 11:29:17.000000000 
+0200
@@ -141,11 +141,11 @@
   or upgrade to C++11 or later. It is possible to re-enable ``std::function`` 
in C++03 by defining
   ``_LIBCPP_ENABLE_CXX03_FUNCTION``. This option will be removed in LLVM 16.
 
-- ``unary_function`` and ``binary_function`` are no longer available in C++17 
and C++20.
-  They can be re-enabled by defining 
``_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION``.
-  They are also marked as ``[[deprecated]]`` in C++11 and later. To disable 
deprecation warnings
-  you have to define ``_LIBCPP_DISABLE_DEPRECATION_WARNINGS``. Note that this 
disables
-  all deprecation warnings.
+- ``unary_function`` and ``binary_function`` are now marked as 
``[[deprecated]]`` in C++11 and later.
+  Deprecation warnings can be disabled by defining 
``_LIBCPP_DISABLE_DEPRECATION_WARNINGS``, however
+  this disables all deprecation warnings, not only those for 
``unary_function`` and ``binary_function``.
+  Also note that starting in LLVM 16, ``unary_function`` and 
``binary_function`` will be removed entirely
+  (not only deprecated) in C++17 and above, as mandated by the Standard.
 
 - The contents of ``<codecvt>``, ``wstring_convert`` and ``wbuffer_convert`` 
have been marked as deprecated.
   To disable deprecation warnings you have to define 
``_LIBCPP_DISABLE_DEPRECATION_WARNINGS``. Note that this
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcxx-15.0.1.src/include/__config 
new/libcxx-15.0.2.src/include/__config
--- old/libcxx-15.0.1.src/include/__config      2022-09-20 08:05:50.000000000 
+0200
+++ new/libcxx-15.0.2.src/include/__config      2022-10-04 11:29:17.000000000 
+0200
@@ -22,9 +22,21 @@
 #  pragma GCC system_header
 #endif
 
+#if defined(__apple_build_version__)
+#  define _LIBCPP_COMPILER_CLANG_BASED
+#  define _LIBCPP_APPLE_CLANG_VER (__apple_build_version__ / 10000)
+#elif defined(__clang__)
+#  define _LIBCPP_COMPILER_CLANG_BASED
+#  define _LIBCPP_CLANG_VER (__clang_major__ * 100 + __clang_minor__)
+#elif defined(__GNUC__)
+#  define _LIBCPP_COMPILER_GCC
+#elif defined(_MSC_VER)
+#  define _LIBCPP_COMPILER_MSVC
+#endif
+
 #ifdef __cplusplus
 
-#  define _LIBCPP_VERSION 15001
+#  define _LIBCPP_VERSION 15002
 
 #  define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y
 #  define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y)
@@ -198,18 +210,6 @@
 #    define __has_include(...) 0
 #  endif
 
-#  if defined(__apple_build_version__)
-#    define _LIBCPP_COMPILER_CLANG_BASED
-#    define _LIBCPP_APPLE_CLANG_VER (__apple_build_version__ / 10000)
-#  elif defined(__clang__)
-#    define _LIBCPP_COMPILER_CLANG_BASED
-#    define _LIBCPP_CLANG_VER (__clang_major__ * 100 + __clang_minor__)
-#  elif defined(__GNUC__)
-#    define _LIBCPP_COMPILER_GCC
-#  elif defined(_MSC_VER)
-#    define _LIBCPP_COMPILER_MSVC
-#  endif
-
 #  if !defined(_LIBCPP_COMPILER_CLANG_BASED) && __cplusplus < 201103L
 #    error "libc++ only supports C++03 with Clang-based compilers. Please 
enable C++11"
 #  endif
@@ -1101,6 +1101,13 @@
 #    define _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION
 #  endif // _LIBCPP_ENABLE_CXX17_REMOVED_FEATURES
 
+// Leave the deprecation notices in by default, but don't remove 
unary_function and
+// binary_function entirely just yet. That way, folks will have one release to 
act
+// on the deprecation warnings.
+#  ifndef _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION
+#    define _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION
+#  endif
+
 #  if defined(_LIBCPP_ENABLE_CXX20_REMOVED_FEATURES)
 #    define _LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS
 #    define _LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_VOID_SPECIALIZATION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcxx-15.0.1.src/include/stdatomic.h 
new/libcxx-15.0.2.src/include/stdatomic.h
--- old/libcxx-15.0.1.src/include/stdatomic.h   2022-09-20 08:05:50.000000000 
+0200
+++ new/libcxx-15.0.2.src/include/stdatomic.h   2022-10-04 11:29:17.000000000 
+0200
@@ -121,7 +121,7 @@
 #  pragma GCC system_header
 #endif
 
-#if _LIBCPP_STD_VER > 20
+#if defined(__cplusplus) && _LIBCPP_STD_VER > 20
 
 #include <atomic>
 #include <version>
@@ -230,6 +230,6 @@
 #   include_next <stdatomic.h>
 # endif
 
-#endif // _LIBCPP_STD_VER > 20
+#endif // defined(__cplusplus) && _LIBCPP_STD_VER > 20
 
 #endif // _LIBCPP_STDATOMIC_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libcxx-15.0.1.src/test/libcxx/depr/depr.func.adaptor.typedefs/typedefs.depr_in_cxx17.verify.cpp
 
new/libcxx-15.0.2.src/test/libcxx/depr/depr.func.adaptor.typedefs/typedefs.depr_in_cxx17.verify.cpp
--- 
old/libcxx-15.0.1.src/test/libcxx/depr/depr.func.adaptor.typedefs/typedefs.depr_in_cxx17.verify.cpp
 2022-09-20 08:05:50.000000000 +0200
+++ 
new/libcxx-15.0.2.src/test/libcxx/depr/depr.func.adaptor.typedefs/typedefs.depr_in_cxx17.verify.cpp
 2022-10-04 11:29:17.000000000 +0200
@@ -19,6 +19,12 @@
 #include <utility>
 #include "test_macros.h"
 
+// This test is disabled in LLVM 15 because we enable the removed
+// unary_function and binary_function classes by default, which means
+// that we also don't produce deprecation warnings for using their members.
+
+// expected-no-diagnostics
+#if 0
 void test_functional()
 {
     {
@@ -123,3 +129,4 @@
         (void)c;
     }
 }
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libcxx-15.0.1.src/test/libcxx/include_as_c.sh.cpp 
new/libcxx-15.0.2.src/test/libcxx/include_as_c.sh.cpp
--- old/libcxx-15.0.1.src/test/libcxx/include_as_c.sh.cpp       2022-09-20 
08:05:50.000000000 +0200
+++ new/libcxx-15.0.2.src/test/libcxx/include_as_c.sh.cpp       2022-10-04 
11:29:17.000000000 +0200
@@ -34,6 +34,7 @@
 #endif
 #include <math.h>
 #include <setjmp.h>
+#include <stdatomic.h>
 #include <stdbool.h>
 #include <stddef.h>
 #include <stdint.h>

++++++ libcxxabi-15.0.1.src.tar.xz -> libcxxabi-15.0.2.src.tar.xz ++++++

++++++ lld-15.0.1.src.tar.xz -> lld-15.0.2.src.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lld-15.0.1.src/ELF/Arch/RISCV.cpp 
new/lld-15.0.2.src/ELF/Arch/RISCV.cpp
--- old/lld-15.0.1.src/ELF/Arch/RISCV.cpp       2022-09-20 08:05:50.000000000 
+0200
+++ new/lld-15.0.2.src/ELF/Arch/RISCV.cpp       2022-10-04 11:29:17.000000000 
+0200
@@ -750,12 +750,13 @@
         p += size;
 
         // For R_RISCV_ALIGN, we will place `offset` in a location (among NOPs)
-        // to satisfy the alignment requirement. If `remove` is a multiple of 
4,
-        // it is as if we have skipped some NOPs. Otherwise we are in the 
middle
-        // of a 4-byte NOP, and we need to rewrite the NOP sequence.
+        // to satisfy the alignment requirement. If both `remove` and r.addend
+        // are multiples of 4, it is as if we have skipped some NOPs. Otherwise
+        // we are in the middle of a 4-byte NOP, and we need to rewrite the NOP
+        // sequence.
         int64_t skip = 0;
         if (r.type == R_RISCV_ALIGN) {
-          if (remove % 4 != 0) {
+          if (remove % 4 || r.addend % 4) {
             skip = r.addend - remove;
             int64_t j = 0;
             for (; j + 4 <= skip; j += 4)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lld-15.0.1.src/test/ELF/riscv-relax-align-rvc.s 
new/lld-15.0.2.src/test/ELF/riscv-relax-align-rvc.s
--- old/lld-15.0.1.src/test/ELF/riscv-relax-align-rvc.s 2022-09-20 
08:05:50.000000000 +0200
+++ new/lld-15.0.2.src/test/ELF/riscv-relax-align-rvc.s 2022-10-04 
11:29:17.000000000 +0200
@@ -50,6 +50,12 @@
 # CHECK-NEXT:           c.addi  a0, 8
 # CHECK-EMPTY:
 
+# CHECK:      <.text2>:
+# CHECK-NEXT:           addi    a0, a1, 1
+# CHECK-NEXT:           c.addi  a0, 1
+# CHECK-NEXT:           c.nop
+# CHECK-NEXT:           c.addi  a0, 2
+
 .global _start
 _start:
   c.addi a0, 1
@@ -73,3 +79,10 @@
   c.addi a0, 8
 .size d, . - d
 .size _start, . - _start
+
+.section .text2,"ax"
+.balign 16
+  addi a0, a1, 1
+  c.addi a0, 1
+.balign 8
+  c.addi a0, 2

++++++ lldb-15.0.1.src.tar.xz -> lldb-15.0.2.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm15/lldb-15.0.1.src.tar.xz 
/work/SRC/openSUSE:Factory/.llvm15.new.2275/lldb-15.0.2.src.tar.xz differ: char 
15, line 1

++++++ llvm-15.0.1.src.tar.xz -> llvm-15.0.2.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm15/llvm-15.0.1.src.tar.xz 
/work/SRC/openSUSE:Factory/.llvm15.new.2275/llvm-15.0.2.src.tar.xz differ: char 
15, line 1

++++++ llvm-do-not-install-static-libraries.patch ++++++
--- /var/tmp/diff_new_pack.N6MYcK/_old  2022-10-11 18:04:14.421957799 +0200
+++ /var/tmp/diff_new_pack.N6MYcK/_new  2022-10-11 18:04:14.421957799 +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-15.0.1.src/cmake/modules/AddClang.cmake
+Index: clang-15.0.2.src/cmake/modules/AddClang.cmake
 ===================================================================
---- a/clang-15.0.1.src/cmake/modules/AddClang.cmake
-+++ b/clang-15.0.1.src/cmake/modules/AddClang.cmake
+--- a/clang-15.0.2.src/cmake/modules/AddClang.cmake
++++ b/clang-15.0.2.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)
@@ -68,10 +68,10 @@
    endif()
    if (ARG_MODULE)
      set_target_properties(${name} PROPERTIES FOLDER "Loadable modules")
-Index: lld-15.0.1.src/cmake/modules/AddLLD.cmake
+Index: lld-15.0.2.src/cmake/modules/AddLLD.cmake
 ===================================================================
---- a/lld-15.0.1.src/cmake/modules/AddLLD.cmake
-+++ b/lld-15.0.1.src/cmake/modules/AddLLD.cmake
+--- a/lld-15.0.2.src/cmake/modules/AddLLD.cmake
++++ b/lld-15.0.2.src/cmake/modules/AddLLD.cmake
 @@ -17,13 +17,6 @@ macro(add_lld_library name)
  
    if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
@@ -86,10 +86,10 @@
      if (${ARG_SHARED} AND NOT CMAKE_CONFIGURATION_TYPES)
        add_llvm_install_targets(install-${name}
          DEPENDS ${name}
-Index: polly-15.0.1.src/cmake/polly_macros.cmake
+Index: polly-15.0.2.src/cmake/polly_macros.cmake
 ===================================================================
---- a/polly-15.0.1.src/cmake/polly_macros.cmake
-+++ b/polly-15.0.1.src/cmake/polly_macros.cmake
+--- a/polly-15.0.2.src/cmake/polly_macros.cmake
++++ b/polly-15.0.2.src/cmake/polly_macros.cmake
 @@ -42,12 +42,14 @@ macro(add_polly_library name)
      llvm_config(${name} ${LLVM_LINK_COMPONENTS})
    endif( LLVM_LINK_COMPONENTS )
@@ -110,10 +110,10 @@
  endmacro(add_polly_library)
  
  macro(add_polly_loadable_module name)
-Index: polly-15.0.1.src/lib/CMakeLists.txt
+Index: polly-15.0.2.src/lib/CMakeLists.txt
 ===================================================================
---- a/polly-15.0.1.src/lib/CMakeLists.txt
-+++ b/polly-15.0.1.src/lib/CMakeLists.txt
+--- a/polly-15.0.2.src/lib/CMakeLists.txt
++++ b/polly-15.0.2.src/lib/CMakeLists.txt
 @@ -74,7 +74,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-15.0.1.src.tar.xz -> llvm-docs-15.0.2.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm15/llvm-docs-15.0.1.src.tar.xz 
/work/SRC/openSUSE:Factory/.llvm15.new.2275/llvm-docs-15.0.2.src.tar.xz differ: 
char 27, line 1

++++++ openmp-15.0.1.src.tar.xz -> openmp-15.0.2.src.tar.xz ++++++

++++++ polly-15.0.1.src.tar.xz -> polly-15.0.2.src.tar.xz ++++++
/work/SRC/openSUSE:Factory/llvm15/polly-15.0.1.src.tar.xz 
/work/SRC/openSUSE:Factory/.llvm15.new.2275/polly-15.0.2.src.tar.xz differ: 
char 15, line 1

Reply via email to