update to 6.8.0 [release 6.8.0-1mamba;Sat Oct 19 2024]
This commit is contained in:
parent
825453bec7
commit
b3237e3cd1
@ -1,201 +0,0 @@
|
|||||||
From 687fc1601863ae7a67897bc3590b33bd3bdcc3bc Mon Sep 17 00:00:00 2001
|
|
||||||
From: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
||||||
Date: Mon, 15 Jul 2024 15:17:04 +0200
|
|
||||||
Subject: [PATCH] lupdate/clang: Fix deprecation warning with llvm 18
|
|
||||||
|
|
||||||
Change-Id: Ib22dda34bfdf7a1cd0e9932eec0f6f13a912a688
|
|
||||||
Reviewed-by: Lucie Gerard <lucie.gerard@qt.io>
|
|
||||||
---
|
|
||||||
src/linguist/lupdate/clangtoolastreader.cpp | 6 ++++++
|
|
||||||
1 file changed, 6 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/linguist/lupdate/clangtoolastreader.cpp b/src/linguist/lupdate/clangtoolastreader.cpp
|
|
||||||
index 6b85c6ccb3..3db9e0d64a 100644
|
|
||||||
--- a/src/linguist/lupdate/clangtoolastreader.cpp
|
|
||||||
+++ b/src/linguist/lupdate/clangtoolastreader.cpp
|
|
||||||
@@ -782,8 +782,14 @@ bool LupdateVisitor::VisitNamedDecl(clang::NamedDecl *namedDeclaration)
|
|
||||||
if (!fullLocation.isValid() || !fullLocation.getFileEntry())
|
|
||||||
return true;
|
|
||||||
|
|
||||||
+#if (LUPDATE_CLANG_VERSION >= LUPDATE_CLANG_VERSION_CHECK(18,0,0))
|
|
||||||
+ auto fileEntry = fullLocation.getFileEntryRef();
|
|
||||||
+ if (fileEntry && !LupdatePrivate::isFileSignificant(fileEntry->getName().str()))
|
|
||||||
+ return true;
|
|
||||||
+#else
|
|
||||||
if (!LupdatePrivate::isFileSignificant(fullLocation.getFileEntry()->getName().str()))
|
|
||||||
return true;
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
qCDebug(lcClang) << "NamedDecl Name: " << QString::fromStdString(namedDeclaration->getQualifiedNameAsString());
|
|
||||||
qCDebug(lcClang) << "NamedDecl source: " << QString::fromStdString(namedDeclaration->getSourceRange().printToString(
|
|
||||||
---
|
|
||||||
|
|
||||||
From a2f478b20f369132de1e67b30716d5f070d7bf80 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Paul Wicking <paul.wicking@qt.io>
|
|
||||||
Date: Mon, 16 Sep 2024 11:30:02 +0200
|
|
||||||
Subject: [PATCH] QDoc: Adapt clang/AST/QualTypeNames.h to upstream changes
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
For compatibility reasons, QDoc carries a custom implementation of
|
|
||||||
`llvm-project.git/clang/lib/AST/QualTypeNames.cpp`. When QDoc is built
|
|
||||||
against Clang libraries from LLVM 19, a segmentation fault occurs when
|
|
||||||
generating the documentation for the Qt 3D module as part of a qt5.git
|
|
||||||
super-module documentation build.
|
|
||||||
|
|
||||||
The segmentation fault is the result of a `nullptr` being passed to
|
|
||||||
`clang::TypeName::getFullyQualifiedNestedNameSpecifier` for the
|
|
||||||
`Scope` parameter.
|
|
||||||
|
|
||||||
Upon investigation, it became clear that two changes have been made
|
|
||||||
upstream to the implementation QDoc carries a customized version of,
|
|
||||||
one of which adds a `nullptr` check. Due to the small footprint of
|
|
||||||
both changes, this patch applies both of them to QDoc's
|
|
||||||
`clang/AST/QualTypeNames.h`:
|
|
||||||
|
|
||||||
- The upstream change 16832eb58563f77d917198ad9f86db1c2ee162c9 adds a
|
|
||||||
`nullptr` check, see https://github.com/llvm/llvm-project/pull/94084
|
|
||||||
for details.
|
|
||||||
- The upstream change 35bfbb3b21e9874d03b730e8ce4eb98b1dcd2d28
|
|
||||||
replaces `dyn_cast_or_null<T>(foo)` with `dyn_cast<T>(foo)` for
|
|
||||||
never-null arguments. See
|
|
||||||
https://github.com/llvm/llvm-project/commit/35bfbb3b21e9874d03b730e8ce4eb98b1dcd2d28
|
|
||||||
for details.
|
|
||||||
|
|
||||||
The changes apply also when QDoc is built against Clang libraries from
|
|
||||||
LLVM 17 and 18, with both end-to-end tests passing. Given the nature of
|
|
||||||
the changes, this means these adaptations do not require being wrapped
|
|
||||||
in `#if LIBCLANG_VERSION_MAJOR` checks.
|
|
||||||
|
|
||||||
Fixes: QTBUG-128926
|
|
||||||
Pick-to: 6.8
|
|
||||||
Change-Id: I5863ca213a35042ed325971b42de2bc1e86c6457
|
|
||||||
Reviewed-by: Luca Di Sera <luca.disera@qt.io>
|
|
||||||
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
||||||
---
|
|
||||||
src/qdoc/qdoc/src/qdoc/clang/AST/QualTypeNames.h | 9 +++++----
|
|
||||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/qdoc/qdoc/src/qdoc/clang/AST/QualTypeNames.h b/src/qdoc/qdoc/src/qdoc/clang/AST/QualTypeNames.h
|
|
||||||
index c6d331ea86..29a9250dea 100644
|
|
||||||
--- a/src/qdoc/qdoc/src/qdoc/clang/AST/QualTypeNames.h
|
|
||||||
+++ b/src/qdoc/qdoc/src/qdoc/clang/AST/QualTypeNames.h
|
|
||||||
@@ -84,8 +84,9 @@ static inline bool getFullyQualifiedTemplateName(const ASTContext &Ctx,
|
|
||||||
assert(ArgTDecl != nullptr);
|
|
||||||
QualifiedTemplateName *QTName = TName.getAsQualifiedTemplateName();
|
|
||||||
|
|
||||||
- if (QTName && !QTName->hasTemplateKeyword()) {
|
|
||||||
- NNS = QTName->getQualifier();
|
|
||||||
+ if (QTName &&
|
|
||||||
+ !QTName->hasTemplateKeyword() &&
|
|
||||||
+ (NNS = QTName->getQualifier())) {
|
|
||||||
NestedNameSpecifier *QNNS = getFullyQualifiedNestedNameSpecifier(
|
|
||||||
Ctx, NNS, WithGlobalNsPrefix);
|
|
||||||
if (QNNS != NNS) {
|
|
||||||
@@ -288,8 +289,8 @@ static inline NestedNameSpecifier *createNestedNameSpecifierForScopeOf(
|
|
||||||
assert(Decl);
|
|
||||||
|
|
||||||
const DeclContext *DC = Decl->getDeclContext()->getRedeclContext();
|
|
||||||
- const auto *Outer = dyn_cast_or_null<NamedDecl>(DC);
|
|
||||||
- const auto *OuterNS = dyn_cast_or_null<NamespaceDecl>(DC);
|
|
||||||
+ const auto *Outer = dyn_cast<NamedDecl>(DC);
|
|
||||||
+ const auto *OuterNS = dyn_cast<NamespaceDecl>(DC);
|
|
||||||
if (Outer && !(OuterNS && OuterNS->isAnonymousNamespace())) {
|
|
||||||
if (OuterNS) {
|
|
||||||
return createNestedNameSpecifier(Ctx, OuterNS, WithGlobalNsPrefix);
|
|
||||||
---
|
|
||||||
|
|
||||||
From 4a368a06afa5929d8674d2e94c2d7cbd6ad85d4e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Paul Wicking <paul.wicking@qt.io>
|
|
||||||
Date: Fri, 13 Sep 2024 14:37:38 +0200
|
|
||||||
Subject: [PATCH] QDoc: Adapt to breaking changes in LLVM 19
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Due to upstream changes in LLVM 19, QDoc fails to compile when linked
|
|
||||||
against Clang libraries from this version of LLVM. Three issues arise;
|
|
||||||
|
|
||||||
- Two cases of passing an argument of wrong type to a function.
|
|
||||||
- One case of accessing a non-existing member of an enumeration.
|
|
||||||
|
|
||||||
One upstream change (see [0]) is responsible for two of the issues:
|
|
||||||
|
|
||||||
- `get_expression_as_string()` is modified such that it correctly
|
|
||||||
obtains the parameter type when calling
|
|
||||||
`get_fully_qualified_type_name()`, by appending
|
|
||||||
`.getArgument().getAsType()` to the call to `getDefaultArgument()`.
|
|
||||||
- `get_default_value_initializer_as_string()` is modified such that it
|
|
||||||
correctly passes the source expression to
|
|
||||||
`get_expression_as_string()`, by appending `.getSourceExpression()`
|
|
||||||
to the call to `getDefaultArgument()`.
|
|
||||||
|
|
||||||
Both of these changes are is incompatible with QDoc built against
|
|
||||||
Clang libraries from earlier versions of LLVM, and are therefore
|
|
||||||
wrapped in #if-ery.
|
|
||||||
|
|
||||||
Finally, LLVM 19 drops a value used in QDoc from the enumeration
|
|
||||||
`clang::TemplateName::Qualified`, see [1]. The enum value `Fully` is
|
|
||||||
removed without replacement. The enum is left with two values,
|
|
||||||
`AsWritten` and `None`. QDoc is modified such that it relies on the
|
|
||||||
former of the two. This change doesn't cause any change in output from
|
|
||||||
QDoc when built against Clang libraries from LLVM 17 and 18, and the
|
|
||||||
change is therefore not wrapped in #if-ery.
|
|
||||||
|
|
||||||
[0] - https://github.com/llvm/llvm-project/commit/e42b799bb28815431f2c5a95f7e13fde3f1b36a1
|
|
||||||
[1] - https://github.com/llvm/llvm-project/commit/9c4a716c12920
|
|
||||||
|
|
||||||
Done-with: Khem Raj <raj.khem@gmail.com>
|
|
||||||
Fixes: QTBUG-128644
|
|
||||||
Pick-to: 6.8
|
|
||||||
Change-Id: I34fbb46cf28b5676b4adda5e563d6d59fc40f602
|
|
||||||
Reviewed-by: Luca Di Sera <luca.disera@qt.io>
|
|
||||||
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
||||||
---
|
|
||||||
src/qdoc/qdoc/src/qdoc/clangcodeparser.cpp | 13 ++++++++++++-
|
|
||||||
1 file changed, 12 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/src/qdoc/qdoc/src/qdoc/clangcodeparser.cpp b/src/qdoc/qdoc/src/qdoc/clangcodeparser.cpp
|
|
||||||
index eb3a781bc..385d651ec 100644
|
|
||||||
--- a/src/qdoc/qdoc/src/qdoc/clangcodeparser.cpp
|
|
||||||
+++ b/src/qdoc/qdoc/src/qdoc/clangcodeparser.cpp
|
|
||||||
@@ -207,9 +207,15 @@ static std::string get_expression_as_string(const clang::Expr* expression, const
|
|
||||||
* If the parameter has no default value the empty string will be returned.
|
|
||||||
*/
|
|
||||||
static std::string get_default_value_initializer_as_string(const clang::TemplateTypeParmDecl* parameter) {
|
|
||||||
+#if LIBCLANG_VERSION_MAJOR >= 19
|
|
||||||
+ return (parameter && parameter->hasDefaultArgument()) ?
|
|
||||||
+ get_fully_qualified_type_name(parameter->getDefaultArgument().getArgument().getAsType(), parameter->getASTContext()) :
|
|
||||||
+ "";
|
|
||||||
+#else
|
|
||||||
return (parameter && parameter->hasDefaultArgument()) ?
|
|
||||||
get_fully_qualified_type_name(parameter->getDefaultArgument(), parameter->getASTContext()) :
|
|
||||||
"";
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -223,8 +229,13 @@ static std::string get_default_value_initializer_as_string(const clang::Template
|
|
||||||
* If the parameter as no default value the empty string will be returned.
|
|
||||||
*/
|
|
||||||
static std::string get_default_value_initializer_as_string(const clang::NonTypeTemplateParmDecl* parameter) {
|
|
||||||
+#if LIBCLANG_VERSION_MAJOR >= 19
|
|
||||||
+ return (parameter && parameter->hasDefaultArgument()) ?
|
|
||||||
+ get_expression_as_string(parameter->getDefaultArgument().getSourceExpression(), parameter->getASTContext()) : "";
|
|
||||||
+#else
|
|
||||||
return (parameter && parameter->hasDefaultArgument()) ?
|
|
||||||
get_expression_as_string(parameter->getDefaultArgument(), parameter->getASTContext()) : "";
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -244,7 +255,7 @@ static std::string get_default_value_initializer_as_string(const clang::Template
|
|
||||||
const clang::TemplateName template_name = parameter->getDefaultArgument().getArgument().getAsTemplate();
|
|
||||||
|
|
||||||
llvm::raw_string_ostream ss{default_value};
|
|
||||||
- template_name.print(ss, parameter->getASTContext().getPrintingPolicy(), clang::TemplateName::Qualified::Fully);
|
|
||||||
+ template_name.print(ss, parameter->getASTContext().getPrintingPolicy(), clang::TemplateName::Qualified::AsWritten);
|
|
||||||
}
|
|
||||||
|
|
||||||
return default_value;
|
|
@ -1,7 +1,7 @@
|
|||||||
%define majver %(echo %version | cut -d. -f1-2)
|
%define majver %(echo %version | cut -d. -f1-2)
|
||||||
|
|
||||||
Name: qt6-qttools
|
Name: qt6-qttools
|
||||||
Version: 6.7.3
|
Version: 6.8.0
|
||||||
Release: 1mamba
|
Release: 1mamba
|
||||||
Summary: Qt6 tools
|
Summary: Qt6 tools
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
@ -14,10 +14,18 @@ Source1: libqt6-designer.desktop
|
|||||||
Source2: libqt6-linguist.desktop
|
Source2: libqt6-linguist.desktop
|
||||||
Source3: libqt6-assistant.desktop
|
Source3: libqt6-assistant.desktop
|
||||||
Source4: libqt6-qdbusviewer.desktop
|
Source4: libqt6-qdbusviewer.desktop
|
||||||
Patch0: qt6-qttools-6.7.2-llvm-19.patch
|
|
||||||
License: GPL
|
License: GPL
|
||||||
## AUTOBUILDREQ-BEGIN
|
## AUTOBUILDREQ-BEGIN
|
||||||
BuildRequires: glibc-devel
|
BuildRequires: glibc-devel
|
||||||
|
BuildRequires: libQt6Core
|
||||||
|
BuildRequires: libQt6DBus
|
||||||
|
BuildRequires: libQt6Gui
|
||||||
|
BuildRequires: libQt6Network
|
||||||
|
BuildRequires: libQt6OpenGL
|
||||||
|
BuildRequires: libQt6PrintSupport
|
||||||
|
BuildRequires: libQt6Sql
|
||||||
|
BuildRequires: libQt6Widgets
|
||||||
|
BuildRequires: libQt6Xml
|
||||||
BuildRequires: libclang-devel
|
BuildRequires: libclang-devel
|
||||||
BuildRequires: libgcc
|
BuildRequires: libgcc
|
||||||
BuildRequires: libglvnd-devel
|
BuildRequires: libglvnd-devel
|
||||||
@ -111,7 +119,6 @@ This package contains libraries and header files for developing applications tha
|
|||||||
%setup -q -n qttools-everywhere-src-%{version}
|
%setup -q -n qttools-everywhere-src-%{version}
|
||||||
#-D -T
|
#-D -T
|
||||||
#:<< _EOF
|
#:<< _EOF
|
||||||
%patch 0 -p1 -F2 -b .llvm-19
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
#:<< _EOF
|
#:<< _EOF
|
||||||
@ -300,6 +307,9 @@ done
|
|||||||
%{_libdir}/pkgconfig/Qt6*.pc
|
%{_libdir}/pkgconfig/Qt6*.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Oct 19 2024 Silvan Calarco <silvan.calarco@mambasoft.it> 6.8.0-1mamba
|
||||||
|
- update to 6.8.0
|
||||||
|
|
||||||
* Wed Oct 09 2024 Automatic Build System <autodist@openmamba.org> 6.7.3-1mamba
|
* Wed Oct 09 2024 Automatic Build System <autodist@openmamba.org> 6.7.3-1mamba
|
||||||
- automatic version update by autodist
|
- automatic version update by autodist
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user