================
@@ -4414,6 +4590,34 @@ void Driver::BuildActions(Compilation &C, DerivedArgList 
&Args,
 
   handleArguments(C, Args, Inputs, Actions);
 
+  if (Args.hasFlag(options::OPT_fmodules_driver,
+                   options::OPT_fno_modules_driver, false)) {
+    Diags.Report(diag::remark_fmodules_driver_enabled);
+    // TODO: Move the logic for implicitly enabling explicit-module-builds out
+    // of -fmodules-driver once it is no longer experimental.
+    // Currently, this serves diagnostic purposes only.
+    bool UsesCXXModules = hasCXXModuleInputType(Inputs);
+    if (!UsesCXXModules) {
+      const auto ErrOrScanResult = ScanInputsForCXXModuleUsage(Inputs);
+      if (!ErrOrScanResult) {
+        Diags.Report(diag::err_cannot_open_file)
+            << ErrOrScanResult.getError().message();
+        return;
+      }
+      UsesCXXModules = *ErrOrScanResult;
+    }
+    if (UsesCXXModules)
+      BuildExplicitModuleBuildActions(C, Args, Inputs, Actions);
+    return;
+  }
+
+  Driver::BuildDefaultActions(C, Args, Inputs, Actions);
----------------
Bigcheese wrote:

No need to `Driver::` qualify this.

https://github.com/llvm/llvm-project/pull/145220
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to