[flang-commits] [flang] [flang] Make -fsave-main-program default (PR #137090)
Eugene Epshteyn via flang-commits
flang-commits at lists.llvm.org
Wed Apr 23 17:08:31 PDT 2025
https://github.com/eugeneepshteyn created https://github.com/llvm/llvm-project/pull/137090
There are many Fortran tests that assume that the variables in Fortran main program have implicit SAVE attribute. These tests don't initialize such variables in some cases, relying on them having been automatically initialized to zero. With -fno-save-main-program being the default, such tests encounter undefined behavior.
>From 9876c3ff951a7c2a3eee2004e3672d52e4bd035f Mon Sep 17 00:00:00 2001
From: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: Wed, 23 Apr 2025 20:02:49 -0400
Subject: [PATCH] [flang] Make -fsave-main-program default
There are many Fortran tests that assume that the variables in Fortran
main program have implicit SAVE attribute. These tests don't initialize
such variables in some cases, relying on them having been automatically
initialized to zero. With -fno-save-main-program being the default, such
tests encounter undefined behavior.
---
flang/lib/Frontend/CompilerInvocation.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/flang/lib/Frontend/CompilerInvocation.cpp b/flang/lib/Frontend/CompilerInvocation.cpp
index 6f87a18d69c3d..a2401bd78c2b8 100644
--- a/flang/lib/Frontend/CompilerInvocation.cpp
+++ b/flang/lib/Frontend/CompilerInvocation.cpp
@@ -820,7 +820,7 @@ static bool parseFrontendArgs(FrontendOptions &opts, llvm::opt::ArgList &args,
opts.features.Enable(
Fortran::common::LanguageFeature::SaveMainProgram,
args.hasFlag(clang::driver::options::OPT_fsave_main_program,
- clang::driver::options::OPT_fno_save_main_program, false));
+ clang::driver::options::OPT_fno_save_main_program, true));
if (args.hasArg(
clang::driver::options::OPT_falternative_parameter_statement)) {
More information about the flang-commits
mailing list