[flang-commits] [flang] [llvm] [flang][MIF] Adding Stop and ErrorStop operations (PR #166787)
via flang-commits
flang-commits at lists.llvm.org
Thu Jan 22 10:00:48 PST 2026
================
@@ -112,9 +113,23 @@ class Terminator {
else \
Terminator{__FILE__, __LINE__}.CheckFailed(#pred)
-RT_API_ATTRS void NotifyOtherImagesOfNormalEnd();
+struct ExitHandler {
+ ExitHandler() {};
+
+ void Configure(bool multiImageFeatureEnabled);
+ [[noreturn]] void NormalExit(int exitCode);
+ [[noreturn]] void ErrorExit(int exitCode);
+
+ bool multiImageFeatureEnabled{false};
+};
+extern RT_VAR_ATTRS ExitHandler exitHandler;
+
+extern RT_VAR_ATTRS void (*normalEndCallback)(int);
+extern RT_VAR_ATTRS void (*failImageCallback)(void);
+extern RT_VAR_ATTRS void (*errorCallback)(int);
----------------
jeanPerier wrote:
I would rather hide these and make these global data static and only accessible under the function APIs to protect any future misuse and make the state easier to watch.
https://github.com/llvm/llvm-project/pull/166787
More information about the flang-commits
mailing list