Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package llvm17 for openSUSE:Factory checked 
in at 2024-09-02 13:13:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/llvm17 (Old)
 and      /work/SRC/openSUSE:Factory/.llvm17.new.2698 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "llvm17"

Mon Sep  2 13:13:21 2024 rev:11 rq:1198145 version:17.0.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/llvm17/llvm17.changes    2024-08-25 
12:10:01.903123175 +0200
+++ /work/SRC/openSUSE:Factory/.llvm17.new.2698/llvm17.changes  2024-09-02 
13:13:28.059899412 +0200
@@ -1,0 +2,6 @@
+Sat Aug 31 21:29:58 UTC 2024 - Aaron Puchert <aaronpuch...@alice-dsl.net>
+
+- Add clang-Fix-build-with-GCC-14-on-ARM.patch to fix build with
+  GCC 14 on aarch64. (boo#1229868, gh#llvm/llvm-project#78691)
+
+-------------------------------------------------------------------

New:
----
  clang-Fix-build-with-GCC-14-on-ARM.patch

BETA DEBUG BEGIN:
  New:
- Add clang-Fix-build-with-GCC-14-on-ARM.patch to fix build with
  GCC 14 on aarch64. (boo#1229868, gh#llvm/llvm-project#78691)
BETA DEBUG END:

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

Other differences:
------------------
++++++ llvm17.spec ++++++
--- /var/tmp/diff_new_pack.jcoino/_old  2024-09-02 13:13:29.663966241 +0200
+++ /var/tmp/diff_new_pack.jcoino/_new  2024-09-02 13:13:29.663966241 +0200
@@ -388,6 +388,8 @@
 Patch4:         clang-resourcedirs.patch
 Patch5:         llvm-remove-clang-only-flags.patch
 Patch6:         llvm-fix-find-gcc5-install.patch
+# PATCH-FIX-UPSTREAM -- Backport of commit 
d54dfdd1b53ff72344287d250c2b67329792c840.
+Patch7:         clang-Fix-build-with-GCC-14-on-ARM.patch
 Patch9:         link-clang-shared.patch
 Patch10:        link-clang-tools-extra-shared.patch
 # PATCH-FIX-OPENSUSE lldb-cmake.patch -- Fix ncurses include path.
@@ -849,6 +851,7 @@
 %patch -P 3 -p1
 %patch -P 4 -p1
 %patch -P 6 -p1
+%patch -P 7 -p2
 %patch -P 9 -p2
 
 # We hardcode openSUSE


++++++ clang-Fix-build-with-GCC-14-on-ARM.patch ++++++
>From b759349d5bbff6db186034ebf29b1128cfdbf212 Mon Sep 17 00:00:00 2001
From: Nikita Popov <npo...@redhat.com>
Date: Fri, 19 Jan 2024 15:19:58 +0100
Subject: [PATCH] [Clang] Fix build with GCC 14 on ARM (#78704)

GCC 14 defines `__arm_streaming` as a macro expanding to
`[[arm::streaming]]`. Due to the nested macro use, this gets expanded
prior to concatenation.

It doesn't look like C++ has a really clean way to prevent macro
expansion. The best I have found is to use `EMPTY ## X` where `EMPTY` is
an empty macro argument, so this is the hack I'm implementing here.

Fixes https://github.com/llvm/llvm-project/issues/78691.
---
 clang/include/clang/Basic/TokenKinds.def  | 3 ++-
 clang/include/clang/Basic/TokenKinds.h    | 2 +-
 clang/utils/TableGen/ClangAttrEmitter.cpp | 2 +-
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/clang/include/clang/Basic/TokenKinds.def 
b/clang/include/clang/Basic/TokenKinds.def
index ef0dad0f2dcd..3add13c079f3 100644
--- a/clang/include/clang/Basic/TokenKinds.def
+++ b/clang/include/clang/Basic/TokenKinds.def
@@ -752,8 +752,9 @@ KEYWORD(__builtin_available              , KEYALL)
 KEYWORD(__builtin_sycl_unique_stable_name, KEYSYCL)
 
 // Keywords defined by Attr.td.
+// The "EMPTY ## X" is used to prevent early macro-expansion of the keyword.
 #ifndef KEYWORD_ATTRIBUTE
-#define KEYWORD_ATTRIBUTE(X) KEYWORD(X, KEYALL)
+#define KEYWORD_ATTRIBUTE(X, EMPTY) KEYWORD(EMPTY ## X, KEYALL)
 #endif
 #include "clang/Basic/AttrTokenKinds.inc"
 
diff --git a/clang/include/clang/Basic/TokenKinds.h 
b/clang/include/clang/Basic/TokenKinds.h
index e4857405bc7f..ff117bd5afc5 100644
--- a/clang/include/clang/Basic/TokenKinds.h
+++ b/clang/include/clang/Basic/TokenKinds.h
@@ -109,7 +109,7 @@ bool isPragmaAnnotation(TokenKind K);
 
 inline constexpr bool isRegularKeywordAttribute(TokenKind K) {
   return (false
-#define KEYWORD_ATTRIBUTE(X) || (K == tok::kw_##X)
+#define KEYWORD_ATTRIBUTE(X, ...) || (K == tok::kw_##X)
 #include "clang/Basic/AttrTokenKinds.inc"
   );
 }
diff --git a/clang/utils/TableGen/ClangAttrEmitter.cpp 
b/clang/utils/TableGen/ClangAttrEmitter.cpp
index b5813c6abc2b..79db17501b64 100644
--- a/clang/utils/TableGen/ClangAttrEmitter.cpp
+++ b/clang/utils/TableGen/ClangAttrEmitter.cpp
@@ -3430,7 +3430,7 @@ void EmitClangAttrTokenKinds(RecordKeeper &Records, 
raw_ostream &OS) {
                      "RegularKeyword attributes with arguments are not "
                      "yet supported");
         OS << "KEYWORD_ATTRIBUTE("
-           << S.getSpellingRecord().getValueAsString("Name") << ")\n";
+           << S.getSpellingRecord().getValueAsString("Name") << ", )\n";
       }
   OS << "#undef KEYWORD_ATTRIBUTE\n";
 }
-- 
2.46.0

Reply via email to