Date: Sat, 14 Sep 2024 07:23:23 GMT From: Dimitry Andric <dim@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: e34a77083e96 - main - devel/llvm13: fix build with clang 19 Message-ID: <202409140723.48E7NNb4014672@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/ports/commit/?id=e34a77083e96050812b4f082efc716dd16069c82 commit e34a77083e96050812b4f082efc716dd16069c82 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2024-09-13 20:00:46 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2024-09-14 07:21:04 +0000 devel/llvm13: fix build with clang 19 Clang 19 now implements CWG 96 [1], which requires a template argument list after a 'template' keyword, resulting in errors similar to: /wrkdirs/usr/ports/devel/llvm13/work/llvm-project-13.0.1.src/flang/include/flang/Evaluate/integer.h:310:32: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw] 310 | auto back{FROM::template ConvertSigned(result.value)}; | ^ Upstream has committed a fix to their main branch [2], but it does not apply cleanly to 13.0.1, so add a backported patch. [1] https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#96 [2] https://github.com/llvm/llvm-project/commit/7bc7672925f8154be3b8220365d3f269ac43621c PR: 281486 Approved by: brooks (maintainer) MFH: 2024Q3 --- devel/llvm13/files/patch-backport-7bc7672925 | 61 ++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/devel/llvm13/files/patch-backport-7bc7672925 b/devel/llvm13/files/patch-backport-7bc7672925 new file mode 100644 index 000000000000..6778cb80991a --- /dev/null +++ b/devel/llvm13/files/patch-backport-7bc7672925 @@ -0,0 +1,61 @@ +From 7bc7672925f8154be3b8220365d3f269ac43621c Mon Sep 17 00:00:00 2001 +From: David Spickett <david.spickett@linaro.org> +Date: Mon, 3 Jun 2024 15:21:26 +0100 +Subject: [PATCH] [flang] Fix compilation errors due to new clang template + requirements (#94204) + +Since https://github.com/llvm/llvm-project/pull/80801 clang requires a +template argument list after the use of the template keyword. + +https://lab.llvm.org/buildbot/#/builders/176/builds/10230 + +error: a template argument list is expected after a name prefixed by the +template keyword [-Wmissing-template-arg-list-after-template-kw] + +This fixes the instances found by the AArch64 Linux builds. +--- + flang/include/flang/Evaluate/integer.h | 2 +- + flang/lib/Evaluate/fold-real.cpp | 7 ++++--- + flang/runtime/reduction-templates.h | 8 ++++---- + 3 files changed, 9 insertions(+), 8 deletions(-) + +--- flang/include/flang/Evaluate/integer.h.orig 2022-06-22 16:46:24 UTC ++++ flang/include/flang/Evaluate/integer.h +@@ -307,7 +307,7 @@ class Integer { (public) + } + result.overflow = false; + } else if constexpr (bits < FROM::bits) { +- auto back{FROM::template ConvertSigned(result.value)}; ++ auto back{FROM::template ConvertSigned<Integer>(result.value)}; + result.overflow = back.value.CompareUnsigned(that) != Ordering::Equal; + } + return result; +--- flang/runtime/reduction-templates.h.orig 2022-06-22 16:46:24 UTC ++++ flang/runtime/reduction-templates.h +@@ -86,7 +86,7 @@ inline CppTypeFor<CAT, KIND> GetTotalReduction(const D + #ifdef _MSC_VER // work around MSVC spurious error + accumulator.GetResult(&result); + #else +- accumulator.template GetResult(&result); ++ accumulator.template GetResult<CppType>(&result); + #endif + return result; + } +@@ -127,7 +127,7 @@ inline void ReduceDimToScalar(const Descriptor &x, int + #ifdef _MSC_VER // work around MSVC spurious error + accumulator.GetResult(result, zeroBasedDim); + #else +- accumulator.template GetResult(result, zeroBasedDim); ++ accumulator.template GetResult<TYPE>(result, zeroBasedDim); + #endif + } + +@@ -155,7 +155,7 @@ inline void ReduceDimMaskToScalar(const Descriptor &x, + #ifdef _MSC_VER // work around MSVC spurious error + accumulator.GetResult(result, zeroBasedDim); + #else +- accumulator.template GetResult(result, zeroBasedDim); ++ accumulator.template GetResult<TYPE>(result, zeroBasedDim); + #endif + } +
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202409140723.48E7NNb4014672>