summaryrefslogtreecommitdiff
path: root/dev-util
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/bitcoin-tx/bitcoin-tx-25.1.ebuild13
-rw-r--r--dev-util/bitcoin-tx/metadata.xml16
-rw-r--r--dev-util/clazy/Manifest1
-rw-r--r--dev-util/clazy/clazy-1.12.ebuild88
-rw-r--r--dev-util/clazy/files/clazy-1.12-clang-16-no-src-root.patch60
-rw-r--r--dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-1.patch78
-rw-r--r--dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-2.patch115
-rw-r--r--dev-util/clazy/files/clazy-1.12-llvm-18.patch36
8 files changed, 0 insertions, 407 deletions
diff --git a/dev-util/bitcoin-tx/bitcoin-tx-25.1.ebuild b/dev-util/bitcoin-tx/bitcoin-tx-25.1.ebuild
deleted file mode 100644
index 4eace497e402..000000000000
--- a/dev-util/bitcoin-tx/bitcoin-tx-25.1.ebuild
+++ /dev/null
@@ -1,13 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="Transitional package for net-p2p/bitcoin-core"
-HOMEPAGE="https://bitcoincore.org/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="~net-p2p/bitcoin-core-${PV}"
diff --git a/dev-util/bitcoin-tx/metadata.xml b/dev-util/bitcoin-tx/metadata.xml
deleted file mode 100644
index b3cae94d2c2f..000000000000
--- a/dev-util/bitcoin-tx/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>luke-jr+gentoobugs@utopios.org</email>
- <name>Luke Dashjr</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <upstream>
- <remote-id type="cpe">cpe:/a:bitcoin:bitcoin_core</remote-id>
- </upstream>
- <origin>gentoo-staging</origin>
-</pkgmetadata> \ No newline at end of file
diff --git a/dev-util/clazy/Manifest b/dev-util/clazy/Manifest
index 4a556fa20ebb..b31e0db22cc0 100644
--- a/dev-util/clazy/Manifest
+++ b/dev-util/clazy/Manifest
@@ -1,2 +1 @@
-DIST clazy-1.12.tar.xz 427740 BLAKE2B ad2c78a506132b5fd6b3c22a7e9794c38ddd71242cde6f760e48d0250f6215629007d45303f4b35fdc7717865b8221ab1c2f3c6889a44ea1809e112845f16463 SHA512 7a2b4a753098f15936a4731c82c660c1cd4d81949279435e87f00f7f72bef3e32cb574c8991c0707798581278e9fbcae34d354c1e6b77a15a5e26166d658fa9e
DIST clazy-1.13.tar.xz 434648 BLAKE2B 2659bec375c9f30021cdd86c12ab4416dfb5250706c2f6254cbd848d07e3e4f220b2a74d23390f235939ad3e5390797ea4b5398948e129a07a66a5de2d33c997 SHA512 4044bddb9e60e227ff2ab7e40c32f087a621e00c985e1706a4f4e2ace20f96cc6e78f00781f7d59da5b066aa49370c645db506e41d955409c0e146771a59ee24
diff --git a/dev-util/clazy/clazy-1.12.ebuild b/dev-util/clazy/clazy-1.12.ebuild
deleted file mode 100644
index 5bf4f0ae4b8a..000000000000
--- a/dev-util/clazy/clazy-1.12.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {15..18} )
-PYTHON_COMPAT=( python3_{9,10,11,12,13} )
-inherit cmake llvm-r1 python-any-r1
-
-DESCRIPTION="Compiler plugin which allows clang to understand Qt semantics"
-HOMEPAGE="https://apps.kde.org/clazy"
-SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}')
- $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- test? (
- ${PYTHON_DEPS}
- dev-qt/qtbase:6[network,xml]
- dev-qt/qtmultimedia:6
- dev-qt/qtnetworkauth:6
- dev-qt/qtscxml:6[qml]
- dev-qt/qtsvg:6
- )
-"
-
-PATCHES=(
- # git master
- "${FILESDIR}"/${P}-fix-tests-Qt-detect-{1,2}.patch
- "${FILESDIR}"/${P}-llvm-18.patch
- # Pending: https://invent.kde.org/sdk/clazy/-/merge_requests/131
- "${FILESDIR}"/${P}-clang-16-no-src-root.patch
-
- "${FILESDIR}"/${P}-LIBRARY_DIRS.patch
- "${FILESDIR}"/${P}-INCLUDE_DIRS.patch
- "${FILESDIR}"/${P}-standalone-install-location.patch
- "${FILESDIR}"/${P}-clazy-install-location.patch
-)
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
- llvm-r1_pkg_setup
-}
-
-src_prepare() {
- cmake_src_prepare
-
- sed -e '/install(FILES README.md COPYING-LGPL2.txt checks.json DESTINATION/d' \
- -i CMakeLists.txt || die
-}
-
-src_configure() {
- local -x LLVM_ROOT="$(get_llvm_prefix -d)"
-
- export CI_JOB_NAME_SLUG="qt6"
-
- cmake_src_configure
-}
-
-src_test() {
- # clazy-standalone wants to be installed in the directory of the clang binary,
- # so it can find the llvm/clang via relative paths.
- # Requires the standalone-install-location.patch.
- # Setup the directories and symlink the system include dir for that.
- local -x LLVM_ROOT="$(get_llvm_prefix -d)"
- local -x CLANG_ROOT="${LLVM_ROOT//llvm/clang}"
- mkdir -p "${BUILD_DIR}${CLANG_ROOT}" || die
-
- ln -s "${CLANG_ROOT}/include" "${BUILD_DIR}${CLANG_ROOT}/include" || die
-
- # Run tests against built copy, not installed
- # bug #811723
- local -x PATH="${BUILD_DIR}/${LLVM_ROOT}/bin:${BUILD_DIR}/bin:${PATH}"
- local -x LD_LIBRARY_PATH="${BUILD_DIR}/lib"
-
- chmod +x "${BUILD_DIR}/bin/clazy" || die
-
- cmake_src_test
-}
diff --git a/dev-util/clazy/files/clazy-1.12-clang-16-no-src-root.patch b/dev-util/clazy/files/clazy-1.12-clang-16-no-src-root.patch
deleted file mode 100644
index ca88efeaf6cd..000000000000
--- a/dev-util/clazy/files/clazy-1.12-clang-16-no-src-root.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 4fa1ded456626f9c13f1f77212754d6349d12a8a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Christoph=20Gr=C3=BCninger?= <foss@grueninger.de>
-Date: Tue, 27 Feb 2024 21:14:19 +0100
-Subject: [PATCH] [cmake] Adjust for non-installed LLVM
-
-In LLVM 16 llvm-config got --src-root removed.
-Adjust include path for Clang include
----
- cmake/FindClang.cmake | 8 ++++++--
- cmake/FindLLVM.cmake | 6 +++++-
- 2 files changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/cmake/FindClang.cmake b/cmake/FindClang.cmake
-index e438ea5c..b4f0b0a1 100644
---- a/cmake/FindClang.cmake
-+++ b/cmake/FindClang.cmake
-@@ -86,8 +86,12 @@ if(CLANG_FOUND)
- set(CLANG_INCLUDE_DIRS ${LLVM_INCLUDE_DIRS})
-
- # check whether llvm-config comes from an install prefix
-+ set(LLVM_CONFIG_INCLUDE_FLAG "--src-root")
-+ if (${LLVM_VERSION} VERSION_GREATER_EQUAL 16)
-+ set(LLVM_CONFIG_INCLUDE_FLAG "--includedir")
-+ endif()
- execute_process(
-- COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root
-+ COMMAND ${LLVM_CONFIG_EXECUTABLE} ${LLVM_CONFIG_INCLUDE_FLAG}
- OUTPUT_VARIABLE _llvmSourceRoot
- OUTPUT_STRIP_TRAILING_WHITESPACE
- )
-@@ -96,7 +100,7 @@ if(CLANG_FOUND)
- message(STATUS "Detected that llvm-config comes from a build-tree, adding more include directories for Clang")
- list(APPEND CLANG_INCLUDE_DIRS
- "${LLVM_INSTALL_PREFIX}/tools/clang/include" # build dir
-- "${_llvmSourceRoot}/tools/clang/include" # source dir
-+ "${_llvmSourceRoot}/../../clang/include" # source dir
- )
- endif()
-
-diff --git a/cmake/FindLLVM.cmake b/cmake/FindLLVM.cmake
-index da02e006..c625eeb5 100644
---- a/cmake/FindLLVM.cmake
-+++ b/cmake/FindLLVM.cmake
-@@ -131,8 +131,12 @@ if (LLVM_FOUND)
- endif()
-
- # potentially add include dir from binary dir for non-installed LLVM
-+ set(LLVM_CONFIG_INCLUDE_FLAG "--src-root")
-+ if (${LLVM_VERSION} VERSION_GREATER_EQUAL 16)
-+ set(LLVM_CONFIG_INCLUDE_FLAG "--includedir")
-+ endif()
- execute_process(
-- COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root
-+ COMMAND ${LLVM_CONFIG_EXECUTABLE} ${LLVM_CONFIG_INCLUDE_FLAG}
- OUTPUT_VARIABLE _llvmSourceRoot
- OUTPUT_STRIP_TRAILING_WHITESPACE
- )
---
-GitLab
-
diff --git a/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-1.patch b/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-1.patch
deleted file mode 100644
index bca03b24dff4..000000000000
--- a/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-1.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 61b03a0d9cb319173766383216deee74fd6d800e Mon Sep 17 00:00:00 2001
-From: Alexander Lohnau <alexander.lohnau@gmx.de>
-Date: Sat, 7 Sep 2024 11:31:22 +0200
-Subject: [PATCH] Make tests work when clang library is different from system
- default
-
-If we have found the clang folder, we can resolve the executable from there.
-In my case, I was compiling against clang16, but my system default was clang 14.
-The stacktrace is really confusing and hard to understand. Using the
-absolute path makes the log also better to understand and to reproduce
-the test results.
----
- ClazyTests.generated.cmake | 5 ++++-
- cmake/FindLLVM.cmake | 13 +++++++++++++
- dev-scripts/generate.py | 5 ++++-
- 3 files changed, 21 insertions(+), 2 deletions(-)
-
-diff --git a/ClazyTests.generated.cmake b/ClazyTests.generated.cmake
-index 204f0e5b..49b0f69e 100644
---- a/ClazyTests.generated.cmake
-+++ b/ClazyTests.generated.cmake
-@@ -2,8 +2,11 @@
-
- macro(add_clazy_test name)
- add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
-+ if (CLANG_EXECUTABLE_PATH)
-+ set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
-+ endif()
- set_property(TEST ${name} PROPERTY
-- ENVIRONMENT "CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
-+ ENVIRONMENT "${CLANG_CXX_TEST}CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
- )
- endmacro()
-
-diff --git a/cmake/FindLLVM.cmake b/cmake/FindLLVM.cmake
-index a1fd9e3f..da02e006 100644
---- a/cmake/FindLLVM.cmake
-+++ b/cmake/FindLLVM.cmake
-@@ -117,6 +117,19 @@ if (LLVM_FOUND)
- OUTPUT_STRIP_TRAILING_WHITESPACE
- )
-
-+ execute_process(
-+ COMMAND ${LLVM_CONFIG_EXECUTABLE} --bindir
-+ OUTPUT_VARIABLE LLVM_BIN_DIR
-+ OUTPUT_STRIP_TRAILING_WHITESPACE
-+ )
-+ set(CLANG_EXECUTABLE_PATH "${LLVM_BIN_DIR}/clang")
-+ if(EXISTS ${CLANG_EXECUTABLE_PATH})
-+ message(STATUS "Clang found: ${CLANG_EXECUTABLE_PATH}")
-+ set(CLANG_EXECUTABLE ${CLANG_EXECUTABLE_PATH})
-+ else()
-+ message(WARNING "Clang not found in LLVM bin directory: ${LLVM_BIN_DIR}")
-+ endif()
-+
- # potentially add include dir from binary dir for non-installed LLVM
- execute_process(
- COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root
-diff --git a/dev-scripts/generate.py b/dev-scripts/generate.py
-index 2678aaba..11fc5bfc 100755
---- a/dev-scripts/generate.py
-+++ b/dev-scripts/generate.py
-@@ -468,8 +468,11 @@ def generate_ctest(checks):
- contents = """# This file was autogenerated by running: ./dev-scripts/generate.py --generate\n
- macro(add_clazy_test name)
- add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
-+ if (CLANG_EXECUTABLE_PATH)
-+ set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
-+ endif()
- set_property(TEST ${name} PROPERTY
-- ENVIRONMENT "CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
-+ ENVIRONMENT "${CLANG_CXX_TEST}CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
- )
- endmacro()\n
- """
---
-GitLab
-
diff --git a/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-2.patch b/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-2.patch
deleted file mode 100644
index 9e5276644ad7..000000000000
--- a/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-2.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From fc058479b1d0ab8498b23a68dcbb56be1b38c793 Mon Sep 17 00:00:00 2001
-From: Alexander Lohnau <alexander.lohnau@gmx.de>
-Date: Sat, 7 Sep 2024 14:25:45 +0200
-Subject: [PATCH] Only look for Qt5/Qt6 installs if respective CI job is
- running
-
-We may have a qt6 installation even on a Qt5 image
-
-But in any case, we should only run them on the dedicated im age and not waste CI time otherwise
----
- ClazyTests.generated.cmake | 8 +++++++-
- dev-scripts/generate.py | 8 +++++++-
- tests/run_tests.py | 22 ++++++++++++++--------
- 3 files changed, 28 insertions(+), 10 deletions(-)
-
-diff --git a/ClazyTests.generated.cmake b/ClazyTests.generated.cmake
-index 49b0f69e..9babc7c5 100644
---- a/ClazyTests.generated.cmake
-+++ b/ClazyTests.generated.cmake
-@@ -1,7 +1,13 @@
- # This file was autogenerated by running: ./dev-scripts/generate.py --generate
-
-+if ($ENV{CI_JOB_NAME_SLUG} MATCHES "qt5")
-+ set(TEST_VERSION_OPTION "--qt-versions=5")
-+elseif($ENV{CI_JOB_NAME_SLUG} MATCHES "qt6")
-+ set(TEST_VERSION_OPTION "--qt-versions=6")
-+endif()
-+
- macro(add_clazy_test name)
-- add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
-+ add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose ${TEST_VERSION_OPTION} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
- if (CLANG_EXECUTABLE_PATH)
- set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
- endif()
-diff --git a/dev-scripts/generate.py b/dev-scripts/generate.py
-index 11fc5bfc..a1233698 100755
---- a/dev-scripts/generate.py
-+++ b/dev-scripts/generate.py
-@@ -466,8 +466,14 @@ def generate_ctest(checks):
- filename = clazy_source_path() + 'ClazyTests.generated.cmake'
-
- contents = """# This file was autogenerated by running: ./dev-scripts/generate.py --generate\n
-+if ($ENV{CI_JOB_NAME_SLUG} MATCHES "qt5")
-+ set(TEST_VERSION_OPTION "--qt-versions=5")
-+elseif($ENV{CI_JOB_NAME_SLUG} MATCHES "qt6")
-+ set(TEST_VERSION_OPTION "--qt-versions=6")
-+endif()
-+
- macro(add_clazy_test name)
-- add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
-+ add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose ${TEST_VERSION_OPTION} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
- if (CLANG_EXECUTABLE_PATH)
- set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
- endif()
-diff --git a/tests/run_tests.py b/tests/run_tests.py
-index 9fb9d5dc..da54e45a 100755
---- a/tests/run_tests.py
-+++ b/tests/run_tests.py
-@@ -457,6 +457,8 @@ parser.add_argument("--only-standalone", action='store_true',
- help='Only run clazy-standalone')
- parser.add_argument("--dump-ast", action='store_true',
- help='Dump a unit-test AST to file')
-+parser.add_argument("--qt-versions", type=int, choices=[5, 6], nargs='+', default=[5, 6],
-+ help='Specify one or more Qt versions to use (default: 5 and 6)')
- parser.add_argument(
- "--exclude", help='Comma separated list of checks to ignore')
- parser.add_argument("-j", "--jobs", type=int, default=multiprocessing.cpu_count(),
-@@ -481,10 +483,14 @@ _only_standalone = args.only_standalone
- _num_threads = args.jobs
- _lock = threading.Lock()
- _was_successful = True
--_qt6_installation = find_qt_installation(
-- 6, ["QT_SELECT=6 qmake", "qmake-qt6", "qmake", "qmake6"])
--_qt5_installation = find_qt_installation(
-- 5, ["QT_SELECT=5 qmake", "qmake-qt5", "qmake", "qmake5"])
-+if 6 in args.qt_versions:
-+ _qt6_installation = find_qt_installation(6, ["QT_SELECT=6 qmake", "qmake-qt6", "qmake", "qmake6"])
-+else:
-+ _qt6_installation = None
-+if 5 in args.qt_versions:
-+ _qt5_installation = find_qt_installation(5, ["QT_SELECT=5 qmake", "qmake-qt5", "qmake", "qmake5"])
-+else:
-+ _qt5_installation = None
- _excluded_checks = args.exclude.split(',') if args.exclude is not None else []
-
- # -------------------------------------------------------------------------------
-@@ -697,6 +703,8 @@ def run_unit_test(test, is_standalone, cppStandard, qt_major_version):
- return True
-
- qt = qt_installation(qt_major_version)
-+ if qt == None:
-+ return True # silently skip
-
- if _verbose:
- print("Qt major versions required by the test: " + str(test.qt_major_versions))
-@@ -709,14 +717,12 @@ def run_unit_test(test, is_standalone, cppStandard, qt_major_version):
-
- if qt.int_version < test.minimum_qt_version or qt.int_version > test.maximum_qt_version or CLANG_VERSION < test.minimum_clang_version:
- if (_verbose):
-- print("Skipping " + printableName +
-- " because required version is not available")
-+ print("Skipping " + printableName + " because required version is not available")
- return True
-
- if test.requires_std_filesystem and not _hasStdFileSystem:
- if (_verbose):
-- print("Skipping " + printableName +
-- " because it requires std::filesystem")
-+ print("Skipping " + printableName + " because it requires std::filesystem")
- return True
-
- if _platform in test.blacklist_platforms:
---
-GitLab
-
diff --git a/dev-util/clazy/files/clazy-1.12-llvm-18.patch b/dev-util/clazy/files/clazy-1.12-llvm-18.patch
deleted file mode 100644
index d1f2bea9ffbf..000000000000
--- a/dev-util/clazy/files/clazy-1.12-llvm-18.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 0d87de91457c3bf2338b997555694953d45e17a4 Mon Sep 17 00:00:00 2001
-From: Alexander Lohnau <alexander.lohnau@gmx.de>
-Date: Tue, 10 Sep 2024 13:50:56 +0200
-Subject: [PATCH] rule-of-three: Fix destructor not being found and thus
- causing false positive
-
-This works fine in clang 14, but apparently not in later versions
-
-The false positive caused a CI failure in https://invent.kde.org/libraries/qca/-/merge_requests/116
----
- src/checks/level2/rule-of-three.cpp | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/src/checks/level2/rule-of-three.cpp b/src/checks/level2/rule-of-three.cpp
-index 6996ee1e..f18ff999 100644
---- a/src/checks/level2/rule-of-three.cpp
-+++ b/src/checks/level2/rule-of-three.cpp
-@@ -56,7 +56,14 @@ void RuleOfThree::VisitDecl(clang::Decl *decl)
-
- CXXConstructorDecl *copyCtor = Utils::copyCtor(record);
- CXXMethodDecl *copyAssign = Utils::copyAssign(record);
-- CXXDestructorDecl *destructor = record->getDestructor();
-+ CXXDestructorDecl *destructor = nullptr;
-+ // Getting the destructor using record->getDestructor() does not work for later clang versions, e.g. clang 16
-+ for (auto *decl : record->decls()) {
-+ if (auto *destructorDecl = dyn_cast<CXXDestructorDecl>(decl)) {
-+ destructor = destructorDecl;
-+ break;
-+ }
-+ }
- const bool dtorDefaultedByUser = destructor && destructor->isDefaulted() && !destructor->isImplicit();
-
- const bool hasUserCopyCtor = copyCtor && copyCtor->isUserProvided();
---
-GitLab
-