git: 9e99ad2987fb - main - devel/llvm-devel: update to 18.1.0rc1
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 30 Jan 2024 19:46:45 UTC
The branch main has been updated by brooks:
URL: https://cgit.FreeBSD.org/ports/commit/?id=9e99ad2987fb946cace87af74011743f0e2d0106
commit 9e99ad2987fb946cace87af74011743f0e2d0106
Author: Brooks Davis <brooks@FreeBSD.org>
AuthorDate: 2024-01-30 19:46:08 +0000
Commit: Brooks Davis <brooks@FreeBSD.org>
CommitDate: 2024-01-30 19:46:08 +0000
devel/llvm-devel: update to 18.1.0rc1
Update from 17 to 18 and connect to build.
Upstream has changed versioning so release branches bump the minor
version to 1 to differentiate them from the pre-branch development
version.
I've moved the .cmake files into STATIC_LIBS as they aren't useful
without .a files. This removes from from the lite flavor (which will
likely be replaced with subpackages.) [0]
PR: 271821 [0]
---
devel/llvm18/Makefile | 18 +-
devel/llvm18/Makefile.COMMANDS | 14 +-
devel/llvm18/Makefile.MAN1SRCS | 1 -
devel/llvm18/distinfo | 10 +-
devel/llvm18/files/patch-backport-158f4f30adb4 | 211 -------
devel/llvm18/files/patch-backport-3ed9e9e3ace6 | 342 -----------
.../files/patch-clang_lib_Headers_CMakeLists.txt | 19 +-
devel/llvm18/pkg-plist | 678 ++++++++++++++++-----
8 files changed, 569 insertions(+), 724 deletions(-)
diff --git a/devel/llvm18/Makefile b/devel/llvm18/Makefile
index 4146803417f6..26fc3333336c 100644
--- a/devel/llvm18/Makefile
+++ b/devel/llvm18/Makefile
@@ -1,6 +1,6 @@
PORTNAME= llvm
-DISTVERSION= 17.0.6
-PORTREVISION= 4
+DISTVERSION= 18.1.0rc1
+PORTREVISION= 0
CATEGORIES= devel lang
MASTER_SITES= https://github.com/llvm/llvm-project/releases/download/llvmorg-${DISTVERSION:S/rc/-rc/}/ \
https://${PRE_}releases.llvm.org/${LLVM_RELEASE}${RCDIR}/
@@ -8,10 +8,6 @@ PKGNAMESUFFIX= ${LLVM_SUFFIX}
DISTNAME= llvm-project-${DISTVERSION}.src
DISTFILES= llvm-project-${DISTVERSION}.src${EXTRACT_SUFX}
-PATCH_SITES= https://github.com/llvm/llvm-project/commit/
-PATCHFILES+= llvmorg-18-init-15199-gb9935bb02a50.patch:-p1 # https://github.com/llvm/llvm-project/pull/75748
-PATCHFILES+= llvmorg-18-init-15680-g966d564e43e6.patch:-p1 # https://github.com/llvm/llvm-project/pull/76185
-
MAINTAINER= brooks@FreeBSD.org
COMMENT= LLVM and Clang
WWW= https://llvm.org/
@@ -159,6 +155,7 @@ COMPILER_RT_DESC= Sanitizer libraries
COMPILER_RT_CMAKE_ON= -DCOMPILER_RT_INSTALL_PATH=${LLVM_PREFIX}/lib/clang/${LLVM_RELEASE}
COMPILER_RT_PLIST_FILES=${_COMPILER_RT_LIBS}
DOCS_BUILD_DEPENDS= \
+ ${PYTHON_PKGNAMEPREFIX}myst-parser>0:textproc/py-myst-parser@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sphinx-markdown-tables>=0:textproc/py-sphinx-markdown-tables@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}recommonmark>=0.0.20180530:textproc/py-recommonmark@${PY_FLAVOR}
DOCS_CONFLICTS_BUILD= cmark
@@ -256,7 +253,7 @@ EXTRAS_LIBS= \
EXTRAS_FILES= index.js
EXTRAS_PATTERN= ${EXTRAS_COMMANDS:tW:C/ */|/g}|${EXTRAS_LIBS:tW:C/ */|/g}|${EXTRAS_FILES:tW:C/ */|/g}
-FLANG_PATTERN= ${FLANG_COMMANDS:S/^/bin./:tW:C/ */|/g}|flang|libFIR|libFortran|libHLFIR
+FLANG_PATTERN= ${FLANG_COMMANDS:S/^/bin./:tW:C/ */|/g}|flang|libFIR|libFortran|libHLFIR|ISO_Fortran_binding.h
MLIR_PATTERN= ${MLIR_COMMANDS:S/^/bin./:tW:C/ */|/g}|mlir|libMLIR|obj.MLIRCAP
@@ -288,7 +285,7 @@ USES+= gnome
.if ${PORT_OPTIONS:MCOMPILER_RT}
LLVM_ENABLE_PROJECTS+= compiler-rt
-COMPILER_RT_PATTERN= (sanitizer|include.xray|include\/(fuzzer|orc)|profile\/InstrProfData.inc)
+COMPILER_RT_PATTERN= (sanitizer|include.xray|include\/(fuzzer|orc)|profile\/InstrProfData.inc|profile\/instr_prof_interface.h)
.endif
.if ${PORT_OPTIONS:MEXTRAS}
@@ -330,7 +327,7 @@ LLVM_ENABLE_PROJECTS+= openmp
MAN1SRCS+= ${OPENMP_MAN1SRCS}
COMMANDS+= ${OPENMP_COMMANDS}
.endif
-OPENMP_PATTERN= ${OPENMP_COMMANDS:tW:C/ */|/g}|cmake\/openmp|libarcher|lib[ig]*omp|omp.h|ompt.h|ompt-multiplex.h|omp-tools.h
+OPENMP_PATTERN= ${OPENMP_COMMANDS:tW:C/ */|/g}|cmake\/openmp|libarcher|lib[ig]*omp|omp.h|ompt.h|ompt-multiplex.h|ompx.h|omp-tools.h
.if ${PORT_OPTIONS:MPOLLY}
LLVM_ENABLE_PROJECTS+= polly
@@ -379,7 +376,7 @@ NATIVE_BACKENDS+= WebAssembly
STANDARD_BACKENDS= ${_FREEBSD_BACKENDS} AMDGPU AVR BPF Hexagon Lanai \
LoongArch MSP430 NVPTX SystemZ VE WebAssembly XCore
_BE_LIBS_COMMON= CodeGen Desc Info
-_BE_INCS_AArch64= arm_bf16.h arm_sme_draft_spec_subject_to_change.h
+_BE_INCS_AArch64= arm_bf16.h
_BE_LIBS_AArch64= AsmParser Disassembler Utils
_BE_LIBS_BACKWARDS_AArch64=Exegesis
_BE_LIBS_AMDGPU= AsmParser Disassembler TargetMCA Utils
@@ -625,6 +622,7 @@ build-plist:
| ${SORT} >> ${PLIST}.tmp
${AWK} '{ \
if ($$0 ~ /lib.lib[a-zA-Z].*\.a$$/ && $$0 !~ /(${BE_PATTERN})$$/) {printf "%%%%STATIC_LIBS%%%%"} \
+ if ($$0 ~ /.*\.cmake$$/) {printf "%%%%STATIC_LIBS%%%%"} \
if ($$0 ~ /${CLANG_PATTERN}/ && $$0 !~ /(${OPENMP_PATTERN}|${EXTRAS_PATTERN}|libclang_rt|${PYCLANG_PATTERN}|${BE_PATTERN})/) {printf "%%%%CLANG%%%%"} \
if ($$0 ~ /${COMPILER_RT_PATTERN}/) \
{printf "%%%%COMPILER_RT%%%%"} \
diff --git a/devel/llvm18/Makefile.COMMANDS b/devel/llvm18/Makefile.COMMANDS
index dfda5e607c18..7fef5dc51c14 100644
--- a/devel/llvm18/Makefile.COMMANDS
+++ b/devel/llvm18/Makefile.COMMANDS
@@ -48,8 +48,8 @@ LLVM_COMMANDS= \
llvm-rc \
llvm-readelf \
llvm-readobj \
+ llvm-readtapi \
llvm-reduce \
- llvm-remark-size-diff \
llvm-remarkutil \
llvm-rtdyld \
llvm-sim \
@@ -59,7 +59,6 @@ LLVM_COMMANDS= \
llvm-strings \
llvm-strip \
llvm-symbolizer \
- llvm-tapi-diff \
llvm-tblgen \
llvm-tli-checker \
llvm-undname \
@@ -133,20 +132,25 @@ LLD_COMMANDS= \
LLDB_COMMANDS= \
lldb \
lldb-argdumper \
+ lldb-dap \
lldb-instr \
- lldb-server \
- lldb-vscode
+ lldb-server
MLIR_COMMANDS= \
+ mlir-cat \
mlir-cpu-runner \
mlir-lsp-server \
+ mlir-minimal-opt \
+ mlir-minimal-opt-canonicalize \
mlir-opt \
mlir-pdll \
mlir-pdll-lsp-server \
+ mlir-query \
mlir-reduce \
mlir-tblgen \
mlir-translate \
- tblgen-lsp-server
+ tblgen-lsp-server \
+ tblgen-to-irdl
OPENMP_COMMANDS= \
llvm-omp-device-info \
diff --git a/devel/llvm18/Makefile.MAN1SRCS b/devel/llvm18/Makefile.MAN1SRCS
index ba623f229a00..0d35f37cdcfe 100644
--- a/devel/llvm18/Makefile.MAN1SRCS
+++ b/devel/llvm18/Makefile.MAN1SRCS
@@ -41,7 +41,6 @@ LLVM_MAN1SRCS= \
llvm-readelf.1 \
llvm-readobj.1 \
llvm-reduce.1 \
- llvm-remark-size-diff.1 \
llvm-remarkutil.1 \
llvm-size.1 \
llvm-stress.1 \
diff --git a/devel/llvm18/distinfo b/devel/llvm18/distinfo
index 9b27c6ea150d..ceb5f4f964ed 100644
--- a/devel/llvm18/distinfo
+++ b/devel/llvm18/distinfo
@@ -1,7 +1,3 @@
-TIMESTAMP = 1701190197
-SHA256 (llvm-project-17.0.6.src.tar.xz) = 58a8818c60e6627064f312dbf46c02d9949956558340938b71cf731ad8bc0813
-SIZE (llvm-project-17.0.6.src.tar.xz) = 127838860
-SHA256 (llvmorg-18-init-15199-gb9935bb02a50.patch) = b0805cba765084c7bef426fa1235dd887c61ae0c1fd5e3fad5c8742cdd6ee8b0
-SIZE (llvmorg-18-init-15199-gb9935bb02a50.patch) = 1893
-SHA256 (llvmorg-18-init-15680-g966d564e43e6.patch) = 3abf92d4a788ff2f74fa9fc627a113f04d9fb72cd7e47344a8c4dce06140a163
-SIZE (llvmorg-18-init-15680-g966d564e43e6.patch) = 1297
+TIMESTAMP = 1706631894
+SHA256 (llvm-project-18.1.0rc1.src.tar.xz) = eb1a2751408e4cbb08b152285b23dea00e4a1bc2cd28c0df90fe1ce699671154
+SIZE (llvm-project-18.1.0rc1.src.tar.xz) = 131969632
diff --git a/devel/llvm18/files/patch-backport-158f4f30adb4 b/devel/llvm18/files/patch-backport-158f4f30adb4
deleted file mode 100644
index c7b31bdab7e6..000000000000
--- a/devel/llvm18/files/patch-backport-158f4f30adb4
+++ /dev/null
@@ -1,211 +0,0 @@
-commit 158f4f30adb4bfd390057742a32934e4344e8fd3
-Author: Corentin Jabot <corentinjabot@gmail.com>
-Date: Mon Aug 21 18:07:43 2023 +0200
-
- [Clang] Do not change the type of captured vars when checking lambda constraints
-
- When checking the constraint of a lambda, we need to respect the constness
- of the call operator when establishing the type of capture variables.
-
- In D124351, this was done by adding const to the captured variable...
- However, that would change the type of the variable outside of the scope
- of the lambda, which is clearly not the desired outcome.
-
- Instead, to ensure const-correctness, we need to populate
- a LambdaScopeInfo with the capture variables before checking the
- constraints of a generic lambda.
-
- There is no changelog as I'd like to tentatively propose we backport
- this change to RC3 as it is a regression introduced in the Clang 17
- cycle.
-
- Fixes #61267
-
- Reviewed By: aaron.ballman, #clang-language-wg
-
- Differential Revision: https://reviews.llvm.org/D158433
-
-diff --git clang/include/clang/Sema/Sema.h clang/include/clang/Sema/Sema.h
-index c992e8763057..807a52886ccb 100644
---- clang/include/clang/Sema/Sema.h
-+++ clang/include/clang/Sema/Sema.h
-@@ -7343,6 +7343,8 @@ public:
- CXXConversionDecl *Conv,
- Expr *Src);
-
-+ sema::LambdaScopeInfo *RebuildLambdaScopeInfo(CXXMethodDecl *CallOperator);
-+
- /// Check whether the given expression is a valid constraint expression.
- /// A diagnostic is emitted if it is not, false is returned, and
- /// PossibleNonPrimary will be set to true if the failure might be due to a
-diff --git clang/lib/Sema/SemaConcept.cpp clang/lib/Sema/SemaConcept.cpp
-index f24b549dd2ef..fa3dadf68229 100644
---- clang/lib/Sema/SemaConcept.cpp
-+++ clang/lib/Sema/SemaConcept.cpp
-@@ -13,12 +13,14 @@
- #include "clang/Sema/SemaConcept.h"
- #include "TreeTransform.h"
- #include "clang/AST/ASTLambda.h"
-+#include "clang/AST/DeclCXX.h"
- #include "clang/AST/ExprConcepts.h"
- #include "clang/AST/RecursiveASTVisitor.h"
- #include "clang/Basic/OperatorPrecedence.h"
- #include "clang/Sema/EnterExpressionEvaluationContext.h"
- #include "clang/Sema/Initialization.h"
- #include "clang/Sema/Overload.h"
-+#include "clang/Sema/ScopeInfo.h"
- #include "clang/Sema/Sema.h"
- #include "clang/Sema/SemaDiagnostic.h"
- #include "clang/Sema/SemaInternal.h"
-@@ -540,11 +542,6 @@ bool Sema::addInstantiatedCapturesToScope(
- auto AddSingleCapture = [&](const ValueDecl *CapturedPattern,
- unsigned Index) {
- ValueDecl *CapturedVar = LambdaClass->getCapture(Index)->getCapturedVar();
-- if (cast<CXXMethodDecl>(Function)->isConst()) {
-- QualType T = CapturedVar->getType();
-- T.addConst();
-- CapturedVar->setType(T);
-- }
- if (CapturedVar->isInitCapture())
- Scope.InstantiatedLocal(CapturedPattern, CapturedVar);
- };
-@@ -714,6 +711,22 @@ bool Sema::CheckFunctionConstraints(const FunctionDecl *FD,
- Record = const_cast<CXXRecordDecl *>(Method->getParent());
- }
- CXXThisScopeRAII ThisScope(*this, Record, ThisQuals, Record != nullptr);
-+
-+ // When checking the constraints of a lambda, we need to restore a
-+ // LambdaScopeInfo populated with correct capture information so that the type
-+ // of a variable referring to a capture is correctly const-adjusted.
-+ FunctionScopeRAII FuncScope(*this);
-+ if (isLambdaCallOperator(FD)) {
-+ LambdaScopeInfo *LSI = RebuildLambdaScopeInfo(
-+ const_cast<CXXMethodDecl *>(cast<CXXMethodDecl>(FD)));
-+ // Constraints are checked from the parent context of the lambda, so we set
-+ // AfterParameterList to false, so that `tryCaptureVariable` finds
-+ // explicit captures in the appropriate context.
-+ LSI->AfterParameterList = false;
-+ } else {
-+ FuncScope.disable();
-+ }
-+
- return CheckConstraintSatisfaction(
- FD, {FD->getTrailingRequiresClause()}, *MLTAL,
- SourceRange(UsageLoc.isValid() ? UsageLoc : FD->getLocation()),
-@@ -902,10 +915,13 @@ bool Sema::CheckInstantiatedFunctionTemplateConstraints(
- }
- CXXThisScopeRAII ThisScope(*this, Record, ThisQuals, Record != nullptr);
- FunctionScopeRAII FuncScope(*this);
-- if (isLambdaCallOperator(Decl))
-- PushLambdaScope();
-- else
-+
-+ if (isLambdaCallOperator(Decl)) {
-+ LambdaScopeInfo *LSI = RebuildLambdaScopeInfo(cast<CXXMethodDecl>(Decl));
-+ LSI->AfterParameterList = false;
-+ } else {
- FuncScope.disable();
-+ }
-
- llvm::SmallVector<Expr *, 1> Converted;
- return CheckConstraintSatisfaction(Template, TemplateAC, Converted, *MLTAL,
-diff --git clang/lib/Sema/SemaDecl.cpp clang/lib/Sema/SemaDecl.cpp
-index 3925e2a7f338..0d5f696bf040 100644
---- clang/lib/Sema/SemaDecl.cpp
-+++ clang/lib/Sema/SemaDecl.cpp
-@@ -15289,11 +15289,10 @@ Sema::CheckForFunctionRedefinition(FunctionDecl *FD,
- FD->setInvalidDecl();
- }
-
--static void RebuildLambdaScopeInfo(CXXMethodDecl *CallOperator,
-- Sema &S) {
-- CXXRecordDecl *const LambdaClass = CallOperator->getParent();
-+LambdaScopeInfo *Sema::RebuildLambdaScopeInfo(CXXMethodDecl *CallOperator) {
-+ CXXRecordDecl *LambdaClass = CallOperator->getParent();
-
-- LambdaScopeInfo *LSI = S.PushLambdaScope();
-+ LambdaScopeInfo *LSI = PushLambdaScope();
- LSI->CallOperator = CallOperator;
- LSI->Lambda = LambdaClass;
- LSI->ReturnType = CallOperator->getReturnType();
-@@ -15317,7 +15316,7 @@ static void RebuildLambdaScopeInfo(CXXMethodDecl *CallOperator,
- if (C.capturesVariable()) {
- ValueDecl *VD = C.getCapturedVar();
- if (VD->isInitCapture())
-- S.CurrentInstantiationScope->InstantiatedLocal(VD, VD);
-+ CurrentInstantiationScope->InstantiatedLocal(VD, VD);
- const bool ByRef = C.getCaptureKind() == LCK_ByRef;
- LSI->addCapture(VD, /*IsBlock*/false, ByRef,
- /*RefersToEnclosingVariableOrCapture*/true, C.getLocation(),
-@@ -15334,6 +15333,7 @@ static void RebuildLambdaScopeInfo(CXXMethodDecl *CallOperator,
- }
- ++I;
- }
-+ return LSI;
- }
-
- Decl *Sema::ActOnStartOfFunctionDef(Scope *FnBodyScope, Decl *D,
-@@ -15437,7 +15437,7 @@ Decl *Sema::ActOnStartOfFunctionDef(Scope *FnBodyScope, Decl *D,
- assert(inTemplateInstantiation() &&
- "There should be an active template instantiation on the stack "
- "when instantiating a generic lambda!");
-- RebuildLambdaScopeInfo(cast<CXXMethodDecl>(D), *this);
-+ RebuildLambdaScopeInfo(cast<CXXMethodDecl>(D));
- } else {
- // Enter a new function scope
- PushFunctionScope();
-diff --git clang/lib/Sema/SemaExpr.cpp clang/lib/Sema/SemaExpr.cpp
-index 34284a8d9381..ac6c3ba6b357 100644
---- clang/lib/Sema/SemaExpr.cpp
-+++ clang/lib/Sema/SemaExpr.cpp
-@@ -19722,13 +19722,6 @@ bool Sema::tryCaptureVariable(
- FunctionScopesIndex == MaxFunctionScopesIndex && VarDC == DC)
- return true;
-
-- // When evaluating some attributes (like enable_if) we might refer to a
-- // function parameter appertaining to the same declaration as that
-- // attribute.
-- if (const auto *Parm = dyn_cast<ParmVarDecl>(Var);
-- Parm && Parm->getDeclContext() == DC)
-- return true;
--
- // Only block literals, captured statements, and lambda expressions can
- // capture; other scopes don't work.
- DeclContext *ParentDC =
-@@ -19756,6 +19749,14 @@ bool Sema::tryCaptureVariable(
- CSI->getCapture(Var).markUsed(BuildAndDiagnose);
- break;
- }
-+
-+ // When evaluating some attributes (like enable_if) we might refer to a
-+ // function parameter appertaining to the same declaration as that
-+ // attribute.
-+ if (const auto *Parm = dyn_cast<ParmVarDecl>(Var);
-+ Parm && Parm->getDeclContext() == DC)
-+ return true;
-+
- // If we are instantiating a generic lambda call operator body,
- // we do not want to capture new variables. What was captured
- // during either a lambdas transformation or initial parsing
-diff --git clang/test/SemaCXX/lambda-capture-type-deduction.cpp clang/test/SemaCXX/lambda-capture-type-deduction.cpp
-index e524d3bc20ab..9855122c9627 100644
---- clang/test/SemaCXX/lambda-capture-type-deduction.cpp
-+++ clang/test/SemaCXX/lambda-capture-type-deduction.cpp
-@@ -246,3 +246,17 @@ void check_params_tpl() {
- static_assert(is_same<int&, decltype((ap))>);
- };
- }
-+
-+namespace GH61267 {
-+template <typename> concept C = true;
-+
-+template<typename>
-+void f(int) {
-+ int i;
-+ [i]<C P>(P) {}(0);
-+ i = 4;
-+}
-+
-+void test() { f<int>(0); }
-+
-+}
diff --git a/devel/llvm18/files/patch-backport-3ed9e9e3ace6 b/devel/llvm18/files/patch-backport-3ed9e9e3ace6
deleted file mode 100644
index 420be920ab90..000000000000
--- a/devel/llvm18/files/patch-backport-3ed9e9e3ace6
+++ /dev/null
@@ -1,342 +0,0 @@
-commit 3ed9e9e3ace6f9ce320cf4e75cffa04a7c7241b5
-Author: Corentin Jabot <corentinjabot@gmail.com>
-Date: Tue Aug 29 19:53:19 2023 +0200
-
- [Clang] Add captures to the instantiation scope of lambda call operators
-
- Like concepts checking, a trailing return type of a lambda
- in a dependent context may refer to captures in which case
- they may need to be rebuilt, so the map of local decl
- should include captures.
-
- This patch reveal a pre-existing issue.
- `this` is always recomputed by TreeTransform.
-
- `*this` (like all captures) only become `const`
- after the parameter list.
-
- However, if try to recompute the value of `this` (in a parameter)
- during template instantiation while determining the type of the call operator,
- we will determine it to be const (unless the lambda is mutable).
-
- There is no good way to know at that point that we are in a parameter
- or not, the easiest/best solution is to transform the type of this.
-
- Note that doing so break a handful of HLSL tests.
- So this is a prototype at this point.
-
- Fixes #65067
- Fixes #63675
-
- Reviewed By: erichkeane
-
- Differential Revision: https://reviews.llvm.org/D159126
-
-diff --git clang/docs/ReleaseNotes.rst clang/docs/ReleaseNotes.rst
-index 2d0302c399fb..6a3a6bb8ad42 100644
---- clang/docs/ReleaseNotes.rst
-+++ clang/docs/ReleaseNotes.rst
-@@ -270,6 +270,11 @@ Bug Fixes to C++ Support
- - Fix crash when parsing the requires clause of some generic lambdas.
- (`#64689 <https://github.com/llvm/llvm-project/issues/64689>`_)
-
-+- Fix crash when the trailing return type of a generic and dependent
-+ lambda refers to an init-capture.
-+ (`#65067 <https://github.com/llvm/llvm-project/issues/65067>`_` and
-+ `#63675 <https://github.com/llvm/llvm-project/issues/63675>`_`)
-+
- Bug Fixes to AST Handling
- ^^^^^^^^^^^^^^^^^^^^^^^^^
- - Fixed an import failure of recursive friend class template.
-diff --git clang/include/clang/Sema/Sema.h clang/include/clang/Sema/Sema.h
-index 1bb096c667e3..566655818a85 100644
---- clang/include/clang/Sema/Sema.h
-+++ clang/include/clang/Sema/Sema.h
-@@ -7365,6 +7365,14 @@ public:
-
- sema::LambdaScopeInfo *RebuildLambdaScopeInfo(CXXMethodDecl *CallOperator);
-
-+ class LambdaScopeForCallOperatorInstantiationRAII
-+ : private FunctionScopeRAII {
-+ public:
-+ LambdaScopeForCallOperatorInstantiationRAII(
-+ Sema &SemasRef, FunctionDecl *FD, MultiLevelTemplateArgumentList MLTAL,
-+ LocalInstantiationScope &Scope);
-+ };
-+
- /// Check whether the given expression is a valid constraint expression.
- /// A diagnostic is emitted if it is not, false is returned, and
- /// PossibleNonPrimary will be set to true if the failure might be due to a
-diff --git clang/lib/Sema/SemaConcept.cpp clang/lib/Sema/SemaConcept.cpp
-index fa3dadf68229..d1fa8e783122 100644
---- clang/lib/Sema/SemaConcept.cpp
-+++ clang/lib/Sema/SemaConcept.cpp
-@@ -600,11 +600,6 @@ bool Sema::SetupConstraintScope(
- if (addInstantiatedParametersToScope(FD, FromMemTempl->getTemplatedDecl(),
- Scope, MLTAL))
- return true;
-- // Make sure the captures are also added to the instantiation scope.
-- if (isLambdaCallOperator(FD) &&
-- addInstantiatedCapturesToScope(FD, FromMemTempl->getTemplatedDecl(),
-- Scope, MLTAL))
-- return true;
- }
-
- return false;
-@@ -629,11 +624,6 @@ bool Sema::SetupConstraintScope(
- // child-function.
- if (addInstantiatedParametersToScope(FD, InstantiatedFrom, Scope, MLTAL))
- return true;
--
-- // Make sure the captures are also added to the instantiation scope.
-- if (isLambdaCallOperator(FD) &&
-- addInstantiatedCapturesToScope(FD, InstantiatedFrom, Scope, MLTAL))
-- return true;
- }
-
- return false;
-@@ -712,20 +702,8 @@ bool Sema::CheckFunctionConstraints(const FunctionDecl *FD,
- }
- CXXThisScopeRAII ThisScope(*this, Record, ThisQuals, Record != nullptr);
-
-- // When checking the constraints of a lambda, we need to restore a
-- // LambdaScopeInfo populated with correct capture information so that the type
-- // of a variable referring to a capture is correctly const-adjusted.
-- FunctionScopeRAII FuncScope(*this);
-- if (isLambdaCallOperator(FD)) {
-- LambdaScopeInfo *LSI = RebuildLambdaScopeInfo(
-- const_cast<CXXMethodDecl *>(cast<CXXMethodDecl>(FD)));
-- // Constraints are checked from the parent context of the lambda, so we set
-- // AfterParameterList to false, so that `tryCaptureVariable` finds
-- // explicit captures in the appropriate context.
-- LSI->AfterParameterList = false;
-- } else {
-- FuncScope.disable();
-- }
-+ LambdaScopeForCallOperatorInstantiationRAII LambdaScope(
-+ *this, const_cast<FunctionDecl *>(FD), *MLTAL, Scope);
-
- return CheckConstraintSatisfaction(
- FD, {FD->getTrailingRequiresClause()}, *MLTAL,
-@@ -913,15 +891,10 @@ bool Sema::CheckInstantiatedFunctionTemplateConstraints(
- ThisQuals = Method->getMethodQualifiers();
- Record = Method->getParent();
- }
-- CXXThisScopeRAII ThisScope(*this, Record, ThisQuals, Record != nullptr);
-- FunctionScopeRAII FuncScope(*this);
-
-- if (isLambdaCallOperator(Decl)) {
-- LambdaScopeInfo *LSI = RebuildLambdaScopeInfo(cast<CXXMethodDecl>(Decl));
-- LSI->AfterParameterList = false;
-- } else {
-- FuncScope.disable();
-- }
-+ CXXThisScopeRAII ThisScope(*this, Record, ThisQuals, Record != nullptr);
-+ LambdaScopeForCallOperatorInstantiationRAII LambdaScope(
-+ *this, const_cast<FunctionDecl *>(Decl), *MLTAL, Scope);
-
- llvm::SmallVector<Expr *, 1> Converted;
- return CheckConstraintSatisfaction(Template, TemplateAC, Converted, *MLTAL,
-diff --git clang/lib/Sema/SemaDecl.cpp clang/lib/Sema/SemaDecl.cpp
-index 027c6c3e4222..998060542609 100644
---- clang/lib/Sema/SemaDecl.cpp
-+++ clang/lib/Sema/SemaDecl.cpp
-@@ -15382,6 +15382,10 @@ LambdaScopeInfo *Sema::RebuildLambdaScopeInfo(CXXMethodDecl *CallOperator) {
- LSI->CallOperator = CallOperator;
- LSI->Lambda = LambdaClass;
- LSI->ReturnType = CallOperator->getReturnType();
-+ // This function in calls in situation where the context of the call operator
-+ // is not entered, so we set AfterParameterList to false, so that
-+ // `tryCaptureVariable` finds explicit captures in the appropriate context.
-+ LSI->AfterParameterList = false;
- const LambdaCaptureDefault LCD = LambdaClass->getLambdaCaptureDefault();
-
- if (LCD == LCD_None)
-diff --git clang/lib/Sema/SemaLambda.cpp clang/lib/Sema/SemaLambda.cpp
-index 5256d91a19a0..1702ddb3ee0f 100644
---- clang/lib/Sema/SemaLambda.cpp
-+++ clang/lib/Sema/SemaLambda.cpp
-@@ -20,6 +20,7 @@
- #include "clang/Sema/ScopeInfo.h"
- #include "clang/Sema/SemaInternal.h"
- #include "clang/Sema/SemaLambda.h"
-+#include "clang/Sema/Template.h"
- #include "llvm/ADT/STLExtras.h"
- #include <optional>
- using namespace clang;
-@@ -2254,3 +2255,34 @@ ExprResult Sema::BuildBlockForLambdaConversion(SourceLocation CurrentLocation,
-
- return BuildBlock;
- }
-+
-+Sema::LambdaScopeForCallOperatorInstantiationRAII::
-+ LambdaScopeForCallOperatorInstantiationRAII(
-+ Sema &SemasRef, FunctionDecl *FD, MultiLevelTemplateArgumentList MLTAL,
-+ LocalInstantiationScope &Scope)
-+ : FunctionScopeRAII(SemasRef) {
-+ if (!isLambdaCallOperator(FD)) {
-+ FunctionScopeRAII::disable();
-+ return;
-+ }
-+
-+ if (FD->isTemplateInstantiation() && FD->getPrimaryTemplate()) {
-+ FunctionTemplateDecl *PrimaryTemplate = FD->getPrimaryTemplate();
-+ if (const auto *FromMemTempl =
-+ PrimaryTemplate->getInstantiatedFromMemberTemplate()) {
-+ SemasRef.addInstantiatedCapturesToScope(
-+ FD, FromMemTempl->getTemplatedDecl(), Scope, MLTAL);
-+ }
-+ }
-+
-+ else if (FD->getTemplatedKind() == FunctionDecl::TK_MemberSpecialization ||
-+ FD->getTemplatedKind() == FunctionDecl::TK_DependentNonTemplate) {
-+ FunctionDecl *InstantiatedFrom =
-+ FD->getTemplatedKind() == FunctionDecl::TK_MemberSpecialization
-+ ? FD->getInstantiatedFromMemberFunction()
-+ : FD->getInstantiatedFromDecl();
-+ SemasRef.addInstantiatedCapturesToScope(FD, InstantiatedFrom, Scope, MLTAL);
-+ }
-+
-+ SemasRef.RebuildLambdaScopeInfo(cast<CXXMethodDecl>(FD));
-+}
-diff --git clang/lib/Sema/SemaTemplateInstantiateDecl.cpp clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
-index 63f022d5c2ff..37a7d6204413 100644
---- clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
-+++ clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
-@@ -2426,6 +2426,9 @@ Decl *TemplateDeclInstantiator::VisitCXXMethodDecl(
- cast<Decl>(Owner)->isDefinedOutsideFunctionOrMethod());
- LocalInstantiationScope Scope(SemaRef, MergeWithParentScope);
-
-+ Sema::LambdaScopeForCallOperatorInstantiationRAII LambdaScope(
-+ SemaRef, const_cast<CXXMethodDecl *>(D), TemplateArgs, Scope);
-+
- // Instantiate enclosing template arguments for friends.
- SmallVector<TemplateParameterList *, 4> TempParamLists;
- unsigned NumTempParamLists = 0;
-diff --git clang/lib/Sema/TreeTransform.h clang/lib/Sema/TreeTransform.h
-index 7323140bc336..603a23275889 100644
---- clang/lib/Sema/TreeTransform.h
-+++ clang/lib/Sema/TreeTransform.h
-@@ -12325,7 +12325,16 @@ TreeTransform<Derived>::TransformCXXNullPtrLiteralExpr(
- template<typename Derived>
- ExprResult
- TreeTransform<Derived>::TransformCXXThisExpr(CXXThisExpr *E) {
-- QualType T = getSema().getCurrentThisType();
-+
-+ // In lambdas, the qualifiers of the type depends of where in
-+ // the call operator `this` appear, and we do not have a good way to
-+ // rebuild this information, so we transform the type.
-+ //
-+ // In other contexts, the type of `this` may be overrided
-+ // for type deduction, so we need to recompute it.
-+ QualType T = getSema().getCurLambda() ?
-+ getDerived().TransformType(E->getType())
-+ : getSema().getCurrentThisType();
-
- if (!getDerived().AlwaysRebuild() && T == E->getType()) {
- // Mark it referenced in the new context regardless.
-diff --git clang/test/SemaCXX/lambda-capture-type-deduction.cpp clang/test/SemaCXX/lambda-capture-type-deduction.cpp
-index 9855122c9627..7bf36a6a9cab 100644
---- clang/test/SemaCXX/lambda-capture-type-deduction.cpp
-+++ clang/test/SemaCXX/lambda-capture-type-deduction.cpp
-@@ -260,3 +260,40 @@ void f(int) {
- void test() { f<int>(0); }
-
- }
-+
-+namespace GH65067 {
-+
-+template <typename> class a {
-+public:
-+ template <typename b> void c(b f) { d<int>(f)(0); }
-+ template <typename, typename b> auto d(b f) {
-+ return [f = f](auto arg) -> a<decltype(f(arg))> { return {}; };
-+ }
-+};
-+a<void> e;
-+auto fn1() {
-+ e.c([](int) {});
-+}
-+
-+}
-+
-+namespace GH63675 {
-+
-+template <class _Tp> _Tp __declval();
-+struct __get_tag {
-+ template <class _Tag> void operator()(_Tag);
-+};
-+template <class _ImplFn> struct __basic_sender {
-+ using __tag_t = decltype(__declval<_ImplFn>()(__declval<__get_tag>()));
-+ _ImplFn __impl_;
-+};
-+auto __make_basic_sender = []<class... _Children>(
-+ _Children... __children) {
-+ return __basic_sender{[... __children = __children]<class _Fun>(
-+ _Fun __fun) -> decltype(__fun(__children...)) {}};
-+};
-+void __trans_tmp_1() {
-+ __make_basic_sender(__trans_tmp_1);
-+}
-+
-+}
-diff --git clang/test/SemaCXX/this-type-deduction-concept.cpp clang/test/SemaCXX/this-type-deduction-concept.cpp
-new file mode 100644
-index 000000000000..a0c1f605ccef
---- /dev/null
-+++ clang/test/SemaCXX/this-type-deduction-concept.cpp
-@@ -0,0 +1,54 @@
-+
-+// This test case came up in the review of
-+// https://reviews.llvm.org/D159126
-+// when transforming `this` within a
-+// requires expression, we need to make sure
-+// the type of this (and its qualifiers) is respected.
-+namespace D159126 {
-+
-+template <class _Tp>
-+concept __member_begin = requires(_Tp __t) {
-+ __t.begin();
-+};
-+
-+struct {
-+ template <class _Tp>
-+ requires __member_begin<_Tp>
-+ auto operator()(_Tp &&) {}
-+} inline begin;
-+
-+template <class>
-+concept range = requires {
-+ begin;
-+};
-+
-+template <class _Tp>
-+concept __can_compare_begin = requires(_Tp __t) {
-+ begin(__t);
-+};
-+
-+struct {
-+ template <__can_compare_begin _Tp> void operator()(_Tp &&);
-+} empty;
-+
-+template <range _Rp> struct owning_view {
-+ _Rp __r_;
-+public:
-+ void empty() const requires requires { empty(__r_); };
-+};
-+
-+template <class T>
-+concept HasEmpty = requires(T t) {
-+ t.empty();
-+};
-+
-+struct ComparableIters {
-+ void begin();
-+};
-+
-+static_assert(HasEmpty<owning_view<ComparableIters&>>);
-+static_assert(HasEmpty<owning_view<ComparableIters&&>>);
-+static_assert(!HasEmpty<owning_view<const ComparableIters&>>);
-+static_assert(!HasEmpty<owning_view<const ComparableIters&&>>);
-+
-+}
diff --git a/devel/llvm18/files/patch-clang_lib_Headers_CMakeLists.txt b/devel/llvm18/files/patch-clang_lib_Headers_CMakeLists.txt
index ceb6a7de05ea..4a5d995dfb27 100644
--- a/devel/llvm18/files/patch-clang_lib_Headers_CMakeLists.txt
+++ b/devel/llvm18/files/patch-clang_lib_Headers_CMakeLists.txt
@@ -1,6 +1,6 @@
--- clang/lib/Headers/CMakeLists.txt.orig
+++ clang/lib/Headers/CMakeLists.txt
-@@ -6,19 +6,10 @@
+@@ -6,34 +6,9 @@
float.h
inttypes.h
iso646.h
@@ -8,10 +8,25 @@
module.modulemap
- stdalign.h
- stdarg.h
+- __stdarg___gnuc_va_list.h
+- __stdarg___va_copy.h
+- __stdarg_va_arg.h
+- __stdarg_va_copy.h
+- __stdarg_va_list.h
- stdatomic.h
- stdbool.h
+- stdckdint.h
- stddef.h
- __stddef_max_align_t.h
+- __stddef_max_align_t.h
+- __stddef_null.h
+- __stddef_nullptr_t.h
+- __stddef_offsetof.h
+- __stddef_ptrdiff_t.h
+- __stddef_rsize_t.h
+- __stddef_size_t.h
+- __stddef_unreachable.h
+- __stddef_wchar_t.h
+- __stddef_wint_t.h
- stdint.h
- stdnoreturn.h
tgmath.h
diff --git a/devel/llvm18/pkg-plist b/devel/llvm18/pkg-plist
index 87f556085907..887f92d1e1ee 100644
--- a/devel/llvm18/pkg-plist
+++ b/devel/llvm18/pkg-plist
@@ -49,8 +49,8 @@ bin/llvm-ranlib%%LLVM_SUFFIX%%
bin/llvm-rc%%LLVM_SUFFIX%%
bin/llvm-readelf%%LLVM_SUFFIX%%
bin/llvm-readobj%%LLVM_SUFFIX%%
+bin/llvm-readtapi%%LLVM_SUFFIX%%
bin/llvm-reduce%%LLVM_SUFFIX%%
-bin/llvm-remark-size-diff%%LLVM_SUFFIX%%
bin/llvm-remarkutil%%LLVM_SUFFIX%%
bin/llvm-rtdyld%%LLVM_SUFFIX%%
bin/llvm-sim%%LLVM_SUFFIX%%
@@ -60,7 +60,6 @@ bin/llvm-stress%%LLVM_SUFFIX%%
bin/llvm-strings%%LLVM_SUFFIX%%
bin/llvm-strip%%LLVM_SUFFIX%%
bin/llvm-symbolizer%%LLVM_SUFFIX%%
-bin/llvm-tapi-diff%%LLVM_SUFFIX%%
bin/llvm-tblgen%%LLVM_SUFFIX%%
bin/llvm-tli-checker%%LLVM_SUFFIX%%
bin/llvm-undname%%LLVM_SUFFIX%%
@@ -119,18 +118,23 @@ bin/sancov%%LLVM_SUFFIX%%
%%LLD%%bin/wasm-ld%%LLVM_SUFFIX%%
%%LLDB%%bin/lldb%%LLVM_SUFFIX%%
%%LLDB%%bin/lldb-argdumper%%LLVM_SUFFIX%%
+%%LLDB%%bin/lldb-dap%%LLVM_SUFFIX%%
%%LLDB%%bin/lldb-instr%%LLVM_SUFFIX%%
%%LLDB%%bin/lldb-server%%LLVM_SUFFIX%%
-%%LLDB%%bin/lldb-vscode%%LLVM_SUFFIX%%
+%%MLIR%%bin/mlir-cat%%LLVM_SUFFIX%%
%%MLIR%%bin/mlir-cpu-runner%%LLVM_SUFFIX%%
%%MLIR%%bin/mlir-lsp-server%%LLVM_SUFFIX%%
+%%MLIR%%bin/mlir-minimal-opt%%LLVM_SUFFIX%%
+%%MLIR%%bin/mlir-minimal-opt-canonicalize%%LLVM_SUFFIX%%
%%MLIR%%bin/mlir-opt%%LLVM_SUFFIX%%
%%MLIR%%bin/mlir-pdll%%LLVM_SUFFIX%%
%%MLIR%%bin/mlir-pdll-lsp-server%%LLVM_SUFFIX%%
+%%MLIR%%bin/mlir-query%%LLVM_SUFFIX%%
%%MLIR%%bin/mlir-reduce%%LLVM_SUFFIX%%
%%MLIR%%bin/mlir-tblgen%%LLVM_SUFFIX%%
%%MLIR%%bin/mlir-translate%%LLVM_SUFFIX%%
%%MLIR%%bin/tblgen-lsp-server%%LLVM_SUFFIX%%
+%%MLIR%%bin/tblgen-to-irdl%%LLVM_SUFFIX%%
%%OPENMP%%bin/llvm-omp-device-info%%LLVM_SUFFIX%%
%%OPENMP%%bin/llvm-omp-kernel-replay%%LLVM_SUFFIX%%
%%LIT%%bin/FileCheck%%LLVM_SUFFIX%%
@@ -156,6 +160,7 @@ bin/sancov%%LLVM_SUFFIX%%
%%LLDB%%llvm%%LLVM_SUFFIX%%/%%PYTHON_SITELIBDIR%%/lldb/formatters/synth.py
%%LLDB%%llvm%%LLVM_SUFFIX%%/%%PYTHON_SITELIBDIR%%/lldb/lldb-argdumper
%%LLDB%%llvm%%LLVM_SUFFIX%%/%%PYTHON_SITELIBDIR%%/lldb/plugins/__init__.py
+%%LLDB%%llvm%%LLVM_SUFFIX%%/%%PYTHON_SITELIBDIR%%/lldb/plugins/operating_system.py
%%LLDB%%llvm%%LLVM_SUFFIX%%/%%PYTHON_SITELIBDIR%%/lldb/plugins/scripted_platform.py
%%LLDB%%llvm%%LLVM_SUFFIX%%/%%PYTHON_SITELIBDIR%%/lldb/plugins/scripted_process.py
%%LLDB%%llvm%%LLVM_SUFFIX%%/%%PYTHON_SITELIBDIR%%/lldb/utils/__init__.py
@@ -211,9 +216,9 @@ llvm%%LLVM_SUFFIX%%/bin/llc
%%LLD%%llvm%%LLVM_SUFFIX%%/bin/lld-link
%%LLDB%%llvm%%LLVM_SUFFIX%%/bin/lldb
%%LLDB%%llvm%%LLVM_SUFFIX%%/bin/lldb-argdumper
+%%LLDB%%llvm%%LLVM_SUFFIX%%/bin/lldb-dap
%%LLDB%%llvm%%LLVM_SUFFIX%%/bin/lldb-instr
%%LLDB%%llvm%%LLVM_SUFFIX%%/bin/lldb-server
-%%LLDB%%llvm%%LLVM_SUFFIX%%/bin/lldb-vscode
llvm%%LLVM_SUFFIX%%/bin/lli
llvm%%LLVM_SUFFIX%%/bin/llvm-addr2line
llvm%%LLVM_SUFFIX%%/bin/llvm-ar
@@ -269,8 +274,8 @@ llvm%%LLVM_SUFFIX%%/bin/llvm-ranlib
llvm%%LLVM_SUFFIX%%/bin/llvm-rc
llvm%%LLVM_SUFFIX%%/bin/llvm-readelf
llvm%%LLVM_SUFFIX%%/bin/llvm-readobj
+llvm%%LLVM_SUFFIX%%/bin/llvm-readtapi
llvm%%LLVM_SUFFIX%%/bin/llvm-reduce
-llvm%%LLVM_SUFFIX%%/bin/llvm-remark-size-diff
llvm%%LLVM_SUFFIX%%/bin/llvm-remarkutil
llvm%%LLVM_SUFFIX%%/bin/llvm-rtdyld
llvm%%LLVM_SUFFIX%%/bin/llvm-sim
@@ -280,18 +285,21 @@ llvm%%LLVM_SUFFIX%%/bin/llvm-stress
llvm%%LLVM_SUFFIX%%/bin/llvm-strings
llvm%%LLVM_SUFFIX%%/bin/llvm-strip
llvm%%LLVM_SUFFIX%%/bin/llvm-symbolizer
-llvm%%LLVM_SUFFIX%%/bin/llvm-tapi-diff
llvm%%LLVM_SUFFIX%%/bin/llvm-tblgen
llvm%%LLVM_SUFFIX%%/bin/llvm-tli-checker
llvm%%LLVM_SUFFIX%%/bin/llvm-undname
llvm%%LLVM_SUFFIX%%/bin/llvm-windres
llvm%%LLVM_SUFFIX%%/bin/llvm-xray
+%%MLIR%%llvm%%LLVM_SUFFIX%%/bin/mlir-cat
%%MLIR%%llvm%%LLVM_SUFFIX%%/bin/mlir-cpu-runner
%%MLIR%%llvm%%LLVM_SUFFIX%%/bin/mlir-linalg-ods-yaml-gen
%%MLIR%%llvm%%LLVM_SUFFIX%%/bin/mlir-lsp-server
+%%MLIR%%llvm%%LLVM_SUFFIX%%/bin/mlir-minimal-opt
+%%MLIR%%llvm%%LLVM_SUFFIX%%/bin/mlir-minimal-opt-canonicalize
%%MLIR%%llvm%%LLVM_SUFFIX%%/bin/mlir-opt
%%MLIR%%llvm%%LLVM_SUFFIX%%/bin/mlir-pdll
%%MLIR%%llvm%%LLVM_SUFFIX%%/bin/mlir-pdll-lsp-server
+%%MLIR%%llvm%%LLVM_SUFFIX%%/bin/mlir-query
%%MLIR%%llvm%%LLVM_SUFFIX%%/bin/mlir-reduce
%%MLIR%%llvm%%LLVM_SUFFIX%%/bin/mlir-tblgen
%%MLIR%%llvm%%LLVM_SUFFIX%%/bin/mlir-translate
@@ -306,6 +314,7 @@ llvm%%LLVM_SUFFIX%%/bin/sanstats
%%CLANG%%llvm%%LLVM_SUFFIX%%/bin/scan-build-py
%%CLANG%%llvm%%LLVM_SUFFIX%%/bin/scan-view
%%MLIR%%llvm%%LLVM_SUFFIX%%/bin/tblgen-lsp-server
+%%MLIR%%llvm%%LLVM_SUFFIX%%/bin/tblgen-to-irdl
%%FLANG%%llvm%%LLVM_SUFFIX%%/bin/tco
llvm%%LLVM_SUFFIX%%/bin/verify-uselistorder
%%LLD%%llvm%%LLVM_SUFFIX%%/bin/wasm-ld
@@ -383,6 +392,9 @@ llvm%%LLVM_SUFFIX%%/bin/verify-uselistorder
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/BadSignalToKillThreadCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/BranchCloneCheck.h
+%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/CastingThroughVoidCheck.h
+%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/ChainedComparisonCheck.h
+%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/CopyConstructorInitCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/DanglingHandleCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/DynamicStaticInitializersCheck.h
@@ -394,6 +406,8 @@ llvm%%LLVM_SUFFIX%%/bin/verify-uselistorder
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/InaccurateEraseCheck.h
+%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/IncDecInConditionsCheck.h
+%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/IncorrectEnableIfCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/IncorrectRoundingsCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/InfiniteLoopCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/IntegerDivisionCheck.h
@@ -404,11 +418,13 @@ llvm%%LLVM_SUFFIX%%/bin/verify-uselistorder
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/MisplacedWideningCastCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/MoveForwardingReferenceCheck.h
+%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/MultipleStatementMacroCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/NoEscapeCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/NonZeroEnumToBoolConversionCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/NotNullTerminatedResultCheck.h
+%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/OptionalValueConversionCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/ParentVirtualCallCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/PosixReturnCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/RedundantBranchConditionCheck.h
@@ -445,6 +461,7 @@ llvm%%LLVM_SUFFIX%%/bin/verify-uselistorder
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/UnhandledSelfAssignmentCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/UniquePtrArrayMismatchCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/UnsafeFunctionsCheck.h
+%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/UnusedRaiiCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/UnusedReturnValueCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/bugprone/UseAfterMoveCheck.h
@@ -478,6 +495,7 @@ llvm%%LLVM_SUFFIX%%/bin/verify-uselistorder
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/cppcoreguidelines/NoMallocCheck.h
+%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/cppcoreguidelines/NoSuspendWithLockCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/cppcoreguidelines/OwningMemoryCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.h
@@ -520,6 +538,7 @@ llvm%%LLVM_SUFFIX%%/bin/verify-uselistorder
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/google/UpgradeGoogletestCaseCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/google/UsingNamespaceDirectiveCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/hicpp/ExceptionBaseclassCheck.h
+%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/hicpp/IgnoredRemoveResultCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/hicpp/MultiwayPathsCoveredCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/hicpp/NoAssemblerCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/hicpp/SignedBitwiseCheck.h
@@ -532,9 +551,11 @@ llvm%%LLVM_SUFFIX%%/bin/verify-uselistorder
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/llvmlibc/CalleeNamespaceCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/llvmlibc/ImplementationInNamespaceCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/llvmlibc/InlineFunctionDeclCheck.h
+%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/llvmlibc/NamespaceConstants.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/llvmlibc/RestrictSystemLibcHeadersCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/misc/ConfusableIdentifierCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/misc/ConstCorrectnessCheck.h
+%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/misc/CoroutineHostileRAIICheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/misc/DefinitionsInHeadersCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/misc/HeaderIncludeCycleCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/misc/IncludeCleanerCheck.h
@@ -578,6 +599,7 @@ llvm%%LLVM_SUFFIX%%/bin/verify-uselistorder
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/modernize/UnaryStaticAssertCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/modernize/UseAutoCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/modernize/UseBoolLiteralsCheck.h
+%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/modernize/UseConstraintsCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/modernize/UseDefaultMemberInitCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/modernize/UseEmplaceCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/modernize/UseEqualsDefaultCheck.h
@@ -586,6 +608,8 @@ llvm%%LLVM_SUFFIX%%/bin/verify-uselistorder
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/modernize/UseNoexceptCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/modernize/UseNullptrCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/modernize/UseOverrideCheck.h
+%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/modernize/UseStartsEndsWithCheck.h
+%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/modernize/UseStdNumbersCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/modernize/UseStdPrintCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/modernize/UseTrailingReturnTypeCheck.h
%%EXTRAS%%llvm%%LLVM_SUFFIX%%/include/clang-tidy/modernize/UseTransparentFunctorsCheck.h
@@ -605,6 +629,7 @@ llvm%%LLVM_SUFFIX%%/bin/verify-uselistorder
*** 2129 LINES SKIPPED ***