[flang-commits] [flang] [flang][build] Fix build warning (PR #90789)

Peter Klausler via flang-commits flang-commits at lists.llvm.org
Wed May 1 15:15:47 PDT 2024


https://github.com/klausler created https://github.com/llvm/llvm-project/pull/90789

Fix a warning from some build compilers about an unused lambda capture.  There are some `if constexpr` branches in the body of the code that do not use the capture.

>From 915f813f0e77faadb90a4a7e9e249ada9fa197fe Mon Sep 17 00:00:00 2001
From: Peter Klausler <pklausler at nvidia.com>
Date: Wed, 1 May 2024 15:13:17 -0700
Subject: [PATCH] [flang][build] Fix build warning

Fix a warning from some build compilers about an unused lambda
capture.  There are some `if constexpr` branches in the body of
the code that do not use the capture.
---
 flang/lib/Evaluate/fold-implementation.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/flang/lib/Evaluate/fold-implementation.h b/flang/lib/Evaluate/fold-implementation.h
index e3b49449b88866..d5c393140c5745 100644
--- a/flang/lib/Evaluate/fold-implementation.h
+++ b/flang/lib/Evaluate/fold-implementation.h
@@ -1686,7 +1686,7 @@ Expr<TO> FoldOperation(
     Convert<TO, FROMCAT> &convert;
   } msvcWorkaround{context, convert};
   return common::visit(
-      [&msvcWorkaround, &context](auto &kindExpr) -> Expr<TO> {
+      [&msvcWorkaround](auto &kindExpr) -> Expr<TO> {
         using Operand = ResultType<decltype(kindExpr)>;
         // This variable is a workaround for msvc which emits an error when
         // using the FROMCAT template parameter below.
@@ -1699,7 +1699,7 @@ Expr<TO> FoldOperation(
             if constexpr (FromCat == TypeCategory::Integer) {
               auto converted{Scalar<TO>::ConvertSigned(*value)};
               if (converted.overflow &&
-                  context.languageFeatures().ShouldWarn(
+                  msvcWorkaround.context.languageFeatures().ShouldWarn(
                       common::UsageWarning::FoldingException)) {
                 ctx.messages().Say(
                     "INTEGER(%d) to INTEGER(%d) conversion overflowed"_warn_en_US,
@@ -1708,7 +1708,7 @@ Expr<TO> FoldOperation(
               return ScalarConstantToExpr(std::move(converted.value));
             } else if constexpr (FromCat == TypeCategory::Real) {
               auto converted{value->template ToInteger<Scalar<TO>>()};
-              if (context.languageFeatures().ShouldWarn(
+              if (msvcWorkaround.context.languageFeatures().ShouldWarn(
                       common::UsageWarning::FoldingException)) {
                 if (converted.flags.test(RealFlag::InvalidArgument)) {
                   ctx.messages().Say(



More information about the flang-commits mailing list