-
Notifications
You must be signed in to change notification settings - Fork 13.5k
[flang] Modifications to ieee_support_standard #125967
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
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.
@llvm/pr-subscribers-flang-semantics Author: None (vdonaldson) ChangesThe result of a call to ieee_support_halting is one of the components that affect the result of a call to ieee_support_standard. Full diff: https://github.com/llvm/llvm-project/pull/125967.diff 2 Files Affected:
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);
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, I added @kiranchandramohan and @pawosm-arm for visibility since this is about ARM.
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/89/builds/16156 Here is the relevant piece of the build log for the reference
|
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/130/builds/9666 Here is the relevant piece of the build log for the reference
|
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/172/builds/9337 Here is the relevant piece of the build log for the reference
|
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.
Since this commit (and the later fix for the buildbots), this Fujitsu test started failing on my aarch64 machine (printing "err") https://github.com/fujitsu/compiler-test-suite/blob/main/Fortran/0136/0136_0045.f90 To reproduce compile and run the test file. Please could you take a look. |
The Fujitsu test behavior was intentional because |
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.