From nobody Tue Jan 30 19:46:45 2024 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TPbK20ks4z59R6x; Tue, 30 Jan 2024 19:46:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TPbK163Bfz4bw8; Tue, 30 Jan 2024 19:46:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1706644005; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mV7a7NE5daSNhu6PzeW0TzE8p6VedKj96ovfAHR31xg=; b=gUkscToUfXSuF/CMYRZrD7xX3yIzCwie67LtalxWOdlxF7YhjGRaIzoe1D2hiOdqwe3KxW eIXoeEMrwlmeojfrh4WXiBtqWn+wcjFAOLlMgFHw19tXXe8ggMyM3YprKu807WcHM7Gq+d Xq/eMwJZFt82qZ6L2pLvBPGMGLZxTSfM7KKtXeNCoqDpq1nytBkPHrTdCo4RJfCSNjpN1a RFF/M0QCqltJC+hWQk7j42TfOvzN8CKznmfpb+7yBjlrMZXu0XcMDw7Wf2lv0A//U6/5YZ TnKN34zoMuSyQq/OVEjgOux6xduy0RRb9Cixk1vmjc9sf0pEnonY//f6VMkxKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1706644005; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mV7a7NE5daSNhu6PzeW0TzE8p6VedKj96ovfAHR31xg=; b=MC+xYqpSE20eWURi0fZ7vPGpd9Qo313nvTVyQijgDMgolfIt25FmdIYBeQenpD5+py0M5U 8KVt3tQIaEfMOIe24ogt7CCYtTE+8Ux5MK/oQSbf/OGXGzHT0O4wZyAypG6znReP6O+6MU MplFRrT1N4VCQ7AWMQ96GnP6M8GIB40y2geBXvkxB6UjtskfMc8bv5PXQV4i/NVUCq1pT6 5uwb4quAtI2ipFNgIvFvBj+BghlYI2jwBBpgc7WgbJezTw9SdlT6uuR+UfRjyXOZ7Me1f9 Hjt8Xx9cJyseLSfXk/cfwOiXPF0U/m3Nh36SXelh5x3IpxF90CObm9YEbOB+qg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1706644005; a=rsa-sha256; cv=none; b=oiWt4matBPBTvI9MzvacT4jojEFIop5oNye7FMAye2028hCdyp4vH0F2s+vgmXS8y88Flk 4eufC/3ImPOk2ZEp5L25gEQ6O2ZB58I6d9X6GJMIMryBJXS3QitR29dBM9KVGqGz5Gdlld pY4yzT7rXZHur57tM5g5/K0HVRXMLsXJQrJxycKVdUHetlMQ0F0C0LiYiOxKUPAK0yllyW sv433CFUIH0kGukHxZAWEdLzYE+tMR9iuFu+u0+G1AGxLqdzJXKWiYjYZjpfWLHff4osEe jVtClxE06T7R8+gdMQDYbJQ2DJMVP8xw4lFOUNWswRVXyDJGIeIGLV/q6i6T3g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TPbK157dxzpDt; Tue, 30 Jan 2024 19:46:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 40UJkjEk052592; Tue, 30 Jan 2024 19:46:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 40UJkjuZ052589; Tue, 30 Jan 2024 19:46:45 GMT (envelope-from git) Date: Tue, 30 Jan 2024 19:46:45 GMT Message-Id: <202401301946.40UJkjuZ052589@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Brooks Davis Subject: git: 9e99ad2987fb - main - devel/llvm-devel: update to 18.1.0rc1 List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9e99ad2987fb946cace87af74011743f0e2d0106 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/ports/commit/?id=9e99ad2987fb946cace87af74011743f0e2d0106 commit 9e99ad2987fb946cace87af74011743f0e2d0106 Author: Brooks Davis AuthorDate: 2024-01-30 19:46:08 +0000 Commit: Brooks Davis 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 -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(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(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(cast(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(Decl)); -+ LSI->AfterParameterList = false; -+ } else { - FuncScope.disable(); -+ } - - llvm::SmallVector 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(D), *this); -+ RebuildLambdaScopeInfo(cast(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(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(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); - }; - } -+ -+namespace GH61267 { -+template concept C = true; -+ -+template -+void f(int) { -+ int i; -+ [i](P) {}(0); -+ i = 4; -+} -+ -+void test() { f(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 -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 `_) - -+- Fix crash when the trailing return type of a generic and dependent -+ lambda refers to an init-capture. -+ (`#65067 `_` and -+ `#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(cast(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(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(Decl)); -- LSI->AfterParameterList = false; -- } else { -- FuncScope.disable(); -- } -+ CXXThisScopeRAII ThisScope(*this, Record, ThisQuals, Record != nullptr); -+ LambdaScopeForCallOperatorInstantiationRAII LambdaScope( -+ *this, const_cast(Decl), *MLTAL, Scope); - - llvm::SmallVector 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 - 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(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(Owner)->isDefinedOutsideFunctionOrMethod()); - LocalInstantiationScope Scope(SemaRef, MergeWithParentScope); - -+ Sema::LambdaScopeForCallOperatorInstantiationRAII LambdaScope( -+ SemaRef, const_cast(D), TemplateArgs, Scope); -+ - // Instantiate enclosing template arguments for friends. - SmallVector 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::TransformCXXNullPtrLiteralExpr( - template - ExprResult - TreeTransform::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(0); } - - } -+ -+namespace GH65067 { -+ -+template class a { -+public: -+ template void c(b f) { d(f)(0); } -+ template auto d(b f) { -+ return [f = f](auto arg) -> a { return {}; }; -+ } -+}; -+a e; -+auto fn1() { -+ e.c([](int) {}); -+} -+ -+} -+ -+namespace GH63675 { -+ -+template _Tp __declval(); -+struct __get_tag { -+ template void operator()(_Tag); -+}; -+template struct __basic_sender { -+ using __tag_t = decltype(__declval<_ImplFn>()(__declval<__get_tag>())); -+ _ImplFn __impl_; -+}; -+auto __make_basic_sender = []( -+ _Children... __children) { -+ return __basic_sender{[... __children = __children]( -+ _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 -+concept __member_begin = requires(_Tp __t) { -+ __t.begin(); -+}; -+ -+struct { -+ template -+ requires __member_begin<_Tp> -+ auto operator()(_Tp &&) {} -+} inline begin; -+ -+template -+concept range = requires { -+ begin; -+}; -+ -+template -+concept __can_compare_begin = requires(_Tp __t) { -+ begin(__t); -+}; -+ -+struct { -+ template <__can_compare_begin _Tp> void operator()(_Tp &&); -+} empty; -+ -+template struct owning_view { -+ _Rp __r_; -+public: -+ void empty() const requires requires { empty(__r_); }; -+}; -+ -+template -+concept HasEmpty = requires(T t) { -+ t.empty(); -+}; -+ -+struct ComparableIters { -+ void begin(); -+}; -+ -+static_assert(HasEmpty>); -+static_assert(HasEmpty>); -+static_assert(!HasEmpty>); -+static_assert(!HasEmpty>); -+ -+} 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 ***