Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Jan 2025 00:42:47 GMT
From:      Brooks Davis <brooks@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 9592edb43243 - main - devel/llvm16: backport flang fixes for llvm19
Message-ID:  <202501100042.50A0glTR049696@gitrepo.freebsd.org>

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

URL: https://cgit.FreeBSD.org/ports/commit/?id=9592edb43243a6a2bdef59c99a69e5a309df910f

commit 9592edb43243a6a2bdef59c99a69e5a309df910f
Author:     Brooks Davis <brooks@FreeBSD.org>
AuthorDate: 2025-01-10 00:35:34 +0000
Commit:     Brooks Davis <brooks@FreeBSD.org>
CommitDate: 2025-01-10 00:42:12 +0000

    devel/llvm16: backport flang fixes for llvm19
    
    The FLANG option is off by default so this wasn't noted in the llvm19
    import.  Backport 7bc7672925f81 from upstream LLVM.
    
    The patches to fold-real.cpp and reduction-templates.h were hand
    applied.
    
    PR:             283966
    Reported by:    ohartmann@walstatt.org
---
 devel/llvm16/files/patch-backport-7bc7672925f81 | 75 +++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

diff --git a/devel/llvm16/files/patch-backport-7bc7672925f81 b/devel/llvm16/files/patch-backport-7bc7672925f81
new file mode 100644
index 000000000000..f3c8c2cfe769
--- /dev/null
+++ b/devel/llvm16/files/patch-backport-7bc7672925f81
@@ -0,0 +1,75 @@
+commit 7bc7672925f8154be3b8220365d3f269ac43621c
+Author: David Spickett <david.spickett@linaro.org>
+Date:   Mon Jun 3 15:21:26 2024 +0100
+
+    [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.
+
+diff --git flang/include/flang/Evaluate/integer.h flang/include/flang/Evaluate/integer.h
+index 10a13115a39e..4c7d88328a71 100644
+--- flang/include/flang/Evaluate/integer.h
++++ flang/include/flang/Evaluate/integer.h
+@@ -315,7 +315,7 @@ 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;
+diff --git flang/lib/Evaluate/fold-real.cpp flang/lib/Evaluate/fold-real.cpp
+index 238ce34adfb7..f71addcc4094 100644
+--- flang/lib/Evaluate/fold-real.cpp
++++ flang/lib/Evaluate/fold-real.cpp
+ #ifndef _MSC_VER
+                                                            template
+ #endif
+-                                                           SCALE(y)};
++                                                           SCALE<Scalar<TBY>>(y)};
+                       if (result.flags.test(RealFlag::Overflow)) {
+                         context.messages().Say(
+                             "SCALE intrinsic folding overflow"_warn_en_US);
+diff --git flang/runtime/reduction-templates.h flang/runtime/reduction-templates.h
+index d102e5642547..a51404c96376 100644
+--- flang/runtime/reduction-templates.h
++++ flang/runtime/reduction-templates.h
+@@ -85,9 +85,9 @@
+   DoTotalReduction<CppType>(x, dim, mask, accumulator, intrinsic, terminator);
+   CppType result;
+ #ifdef _MSC_VER // work around MSVC spurious error
+-  accumulator.GetResult(&result);
++  accumulator.GetResult<CppType>(&result);
+ #else
+-  accumulator.template GetResult(&result);
++  accumulator.template GetResult<CppType>(&result);
+ #endif
+   return result;
+ }
+@@ -128,7 +128,7 @@
+ #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
+ }
+ 
+@@ -156,7 +156,7 @@
+ #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?202501100042.50A0glTR049696>