Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Dec 2023 22:54:09 GMT
From:      Dima Panov <fluffy@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 44e78a276ae8 - main - devel/clazy: unbreak with LLVM >= 17
Message-ID:  <202312292254.3BTMs9cl056435@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by fluffy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=44e78a276ae8efd41b238740eabf53ac168938ff

commit 44e78a276ae8efd41b238740eabf53ac168938ff
Author:     Dima Panov <fluffy@FreeBSD.org>
AuthorDate: 2023-12-29 22:53:25 +0000
Commit:     Dima Panov <fluffy@FreeBSD.org>
CommitDate: 2023-12-29 22:53:25 +0000

    devel/clazy: unbreak with LLVM >= 17
    
    Reported by:    poudriere failure
---
 ...anuallevel_unexpected-flag-enumerator-value.cpp | 28 ++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/devel/clazy/files/patch-src_checks_manuallevel_unexpected-flag-enumerator-value.cpp b/devel/clazy/files/patch-src_checks_manuallevel_unexpected-flag-enumerator-value.cpp
new file mode 100644
index 000000000000..cc4cbd6944e8
--- /dev/null
+++ b/devel/clazy/files/patch-src_checks_manuallevel_unexpected-flag-enumerator-value.cpp
@@ -0,0 +1,28 @@
+--- src/checks/manuallevel/unexpected-flag-enumerator-value.cpp.orig	2022-01-20 23:18:47 UTC
++++ src/checks/manuallevel/unexpected-flag-enumerator-value.cpp
+@@ -61,8 +61,13 @@ static bool isIntentionallyNotPowerOf2(EnumConstantDec
+     if (val.isMask() && val.countTrailingOnes() >= MinOnesToQualifyAsMask)
+         return true;
+ 
++#if LLVM_VERSION_MAJOR >= 17
++    if (val.isMask() && val.popcount() >= MinOnesToQualifyAsMask)
++        return true;
++#else
+     if (val.isShiftedMask() && val.countPopulation() >= MinOnesToQualifyAsMask)
+         return true;
++#endif
+ 
+     if (clazy::contains_lower(en->getName(), "mask"))
+         return true;
+@@ -158,7 +163,11 @@ void UnexpectedFlagEnumeratorValue::VisitDecl(clang::D
+ 
+     for (EnumConstantDecl* enumerator : enumerators) {
+         const auto &initVal = enumerator->getInitVal();
++#if LLVM_VERSION_MAJOR >= 17
++        if (!initVal.isPowerOf2() && !initVal.isZero() && !initVal.isNegative()) {
++#else
+         if (!initVal.isPowerOf2() && !initVal.isNullValue() && !initVal.isNegative()) {
++#endif
+             if (isIntentionallyNotPowerOf2(enumerator))
+                 continue;
+             const auto value = enumerator->getInitVal().getLimitedValue();



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202312292254.3BTMs9cl056435>