[flang-commits] [flang] [flang] Modificaitons to ieee_support_standard (PR #125967)

via flang-commits flang-commits at lists.llvm.org
Wed Feb 5 16:06:52 PST 2025


https://github.com/vdonaldson created https://github.com/llvm/llvm-project/pull/125967

The result of a call to ieee_support_halting is one of the components that affect the result of a call to ieee_support_standard.

>From 0dbcf1b9569f3fafa1e5a147213caad052c66d30 Mon Sep 17 00:00:00 2001
From: V Donaldson <vdonaldson at nvidia.com>
Date: Wed, 5 Feb 2025 15:49:40 -0800
Subject: [PATCH] [flang] Modificaitons to ieee_support_standard

The result of a call to ieee_support_halting is one of the components
that affect the result of a call to ieee_support_standard.
---
 flang/include/flang/Evaluate/target.h   | 7 ++++---
 flang/include/flang/Tools/TargetSetup.h | 4 ++--
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/flang/include/flang/Evaluate/target.h b/flang/include/flang/Evaluate/target.h
index e07f916b875e06b..44c552b99cf4eaa 100644
--- a/flang/include/flang/Evaluate/target.h
+++ b/flang/include/flang/Evaluate/target.h
@@ -143,9 +143,10 @@ class TargetCharacteristics {
   std::string compilerOptionsString_;
   std::string compilerVersionString_;
   IeeeFeatures ieeeFeatures_{IeeeFeature::Denormal, IeeeFeature::Divide,
-      IeeeFeature::Flags, IeeeFeature::Inf, IeeeFeature::Io, IeeeFeature::NaN,
-      IeeeFeature::Rounding, IeeeFeature::Sqrt, IeeeFeature::Standard,
-      IeeeFeature::Subnormal, IeeeFeature::UnderflowControl};
+      IeeeFeature::Flags, IeeeFeature::Halting, IeeeFeature::Inf,
+      IeeeFeature::Io, IeeeFeature::NaN, IeeeFeature::Rounding,
+      IeeeFeature::Sqrt, IeeeFeature::Standard, IeeeFeature::Subnormal,
+      IeeeFeature::UnderflowControl};
 };
 
 } // namespace Fortran::evaluate
diff --git a/flang/include/flang/Tools/TargetSetup.h b/flang/include/flang/Tools/TargetSetup.h
index 5d23df6823a9485..d167f44fe2fd770 100644
--- a/flang/include/flang/Tools/TargetSetup.h
+++ b/flang/include/flang/Tools/TargetSetup.h
@@ -25,8 +25,6 @@ namespace Fortran::tools {
 
   const llvm::Triple &targetTriple{targetMachine.getTargetTriple()};
 
-  targetCharacteristics.set_ieeeFeature(evaluate::IeeeFeature::Halting, true);
-
   if (targetTriple.getArch() == llvm::Triple::ArchType::x86_64) {
     targetCharacteristics.set_hasSubnormalFlushingControl(/*kind=*/3);
     targetCharacteristics.set_hasSubnormalFlushingControl(/*kind=*/4);
@@ -37,6 +35,8 @@ namespace Fortran::tools {
     targetCharacteristics.set_haltingSupportIsUnknownAtCompileTime();
     targetCharacteristics.set_ieeeFeature(
         evaluate::IeeeFeature::Halting, false);
+    targetCharacteristics.set_ieeeFeature(
+        evaluate::IeeeFeature::Standard, false);
     targetCharacteristics.set_hasSubnormalFlushingControl(/*kind=*/3);
     targetCharacteristics.set_hasSubnormalFlushingControl(/*kind=*/4);
     targetCharacteristics.set_hasSubnormalFlushingControl(/*kind=*/8);



More information about the flang-commits mailing list