[clang] [flang] [flang][clang] Add support for -finit-logical in Flang (PR #150939)

Tarun Prabhu via cfe-commits cfe-commits at lists.llvm.org
Mon Jul 28 08:28:28 PDT 2025


================
@@ -1541,6 +1541,22 @@ bool CompilerInvocation::createFromArgs(
   else
     invoc.loweringOpts.setInitGlobalZero(false);
 
+  // -finit-logical
+  if (const auto *arg =
+          args.getLastArg(clang::driver::options::OPT_finit_logical_EQ)) {
+    llvm::StringRef argValue = llvm::StringRef(arg->getValue());
+    if (argValue.lower() == "true")
+      invoc.loweringOpts.setLogicalInit(1);
+    else if (argValue.lower() == "false")
+      invoc.loweringOpts.setLogicalInit(0);
+    else {
+      const unsigned diagID = diags.getCustomDiagID(
----------------
tarunprabhu wrote:

Could we use an existing clang driver diagnostic here instead of creating custom id? For instance 

```
 diags.Report(clang::diag::err_drv_invalid_value_with_suggestion)
          << arg->getAsString(args) << arg->getValue() << "false true";
```

https://github.com/llvm/llvm-project/pull/150939


More information about the cfe-commits mailing list