[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