[flang-commits] [flang] [flang][doc] refine zero initialization extension documentation (PR #121956)

via flang-commits flang-commits at lists.llvm.org
Tue Jan 7 07:54:25 PST 2025


https://github.com/jeanPerier created https://github.com/llvm/llvm-project/pull/121956

Following-up on [comments ](https://github.com/llvm/llvm-project/issues/62432#issuecomment-2555316522) in this issue that motivated this extension.

>From 6c33a53f49da342ace193495b749a88b95d6a345 Mon Sep 17 00:00:00 2001
From: Jean Perier <jperier at nvidia.com>
Date: Tue, 7 Jan 2025 07:34:05 -0800
Subject: [PATCH] [flang][doc] refine zero initialization extension

---
 flang/docs/Extensions.md | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/flang/docs/Extensions.md b/flang/docs/Extensions.md
index 2d1c967a6068de..dc0dc05ba99953 100644
--- a/flang/docs/Extensions.md
+++ b/flang/docs/Extensions.md
@@ -160,7 +160,10 @@ end
 * `<>` as synonym for `.NE.` and `/=`
 * `$` and `@` as legal characters in names
 * Initialization in type declaration statements using `/values/`
-* Saved variables without explicit or default initializers are zero initialized.
+* Saved variables without explicit or default initializers are zero initialized,
+  except for implicitly saved scalar variables from the main program that are
+  kept on the stack by flang and are not zero initialized. It is not advised to
+  rely on this extension in new code.
 * In a saved entity of a type with a default initializer, components without default
   values are zero initialized.
 * Kind specification with `*`, e.g. `REAL*4`



More information about the flang-commits mailing list