[clang] [flang] [clang][flang] Add support for -finit-local-zero (PR #159788)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Oct 22 01:22:44 PDT 2025
================
@@ -384,6 +384,159 @@ class TypeInfoConverter {
llvm::SmallSetVector<Fortran::semantics::SymbolRef, 32> seen;
};
+// Helper class to encapsulate utilities related to emission of implicit
+// assignments. `Implicit` here implies the assignment does not
+// exist in the Fortran source, but is implicit through definition
+// of one or more flagsets (like -finit-* family of flags).
+// General purpose usage of these utilities outside the
+// scope detailed here is discouraged, and is probably wrong.
+class ImplicitAssignmentGenerator {
----------------
NimishMishra wrote:
Thanks. That could be done. Can you help me understand whether such changes will still enable us to do the following:
1. Make calls like `achar(...)`, which would be required when we upstream support for `-finit-character`
2. Make calls like `x = ieee_value(x, ieee_quiet_nan)`, which would be required when we support `-finit-real` (would fix https://github.com/llvm/llvm-project/issues/159794). We also need similar `ieee_value` calls for `inf/nan/snan/-inf`.
The reason I thought to handle assignments through `parser::` is that I could not understand how we could directly emit such assignments as I exemplified here through HLFIR. Although I understand such calls are not needed for this PR, I intend to share functionality for all `-finit-*` flags. If there is a way where we can handle these cases in HLFIR, I would be happy to rework this PR.
https://github.com/llvm/llvm-project/pull/159788
More information about the cfe-commits
mailing list