[clang] [clang] Report direct module deps for explicitly built modules (PR #190757)
Jan Svoboda via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 7 10:00:52 PDT 2026
================
@@ -3857,6 +3857,8 @@ def fno_module_maps : Flag <["-"], "fno-module-maps">, Alias<fno_implicit_module
def fno_modules_strict_decluse : Flag <["-"], "fno-strict-modules-decluse">, Group<f_Group>;
def fmodule_file_deps : Flag <["-"], "fmodule-file-deps">, Group<f_Group>;
def fno_module_file_deps : Flag <["-"], "fno-module-file-deps">, Group<f_Group>;
+def fmodule_file_direct_deps : Flag <["-"], "fmodule-file-direct-deps">, Group<f_Group>;
+def fno_module_file_direct_deps : Flag <["-"], "fno-module-file-direct-deps">, Group<f_Group>;
----------------
jansvoboda11 wrote:
WDYT about adding `-fmodule-file-deps={none,all,direct}`?
* `none` is alias of `-fno-module-file-deps`
* `all` is alias of `-fmodule-file-deps`
* `direct` is a replacement of the new `-fmodule-file-direct-deps`
I'm suggesting this because `"-fmodule-file-direct-deps -fno-module-file-deps"` in the current implementation still produces direct deps, which I find a bit surprising. I think that would be a cleaner representation on the `-cc1` level too (but without the `-f` flag and without the `-no-*` option), and `DependencyOutputOptions::IncludeModuleFiles` would become an enum.
https://github.com/llvm/llvm-project/pull/190757
More information about the cfe-commits
mailing list