[PATCH] Add flag -fno-modules-implicit-maps.
Daniel Jasper
djasper at google.com
Thu Nov 20 01:41:44 PST 2014
I think HeaderSearch::loadFrameworkModule() should not call ModuleMap::inferFrameworkModule() if implicit maps are deactivated. Inferred maps seems like a special case of implicit maps.
Also addressed all the other points.
================
Comment at: docs/Modules.rst:211
@@ +210,3 @@
+``-fno-modules-implicit-maps``
+ Suppresses the implicit search for files called ``module.map`` and similar. Instead, module files need to be explicitly specified via ``-fmodule-map-file`` or transitively used.
+
----------------
rsmith wrote:
> In the documentation, we should refer to `module.modulemap` rather than the deprecated name `module.map`.
Changed.
================
Comment at: include/clang/Basic/LangOptions.def:129
@@ -128,2 +128,3 @@
LANGOPT(ModulesErrorRecovery, 1, 1, "automatically import modules as needed when performing error recovery")
+LANGOPT(ModulesImplicitMaps, 1, 1, "use files called module.map implicitly as module maps")
COMPATIBLE_LANGOPT(Optimize , 1, 0, "__OPTIMIZE__ predefined macro")
----------------
rsmith wrote:
> rsmith wrote:
> > `module.modulemap`
> This should be a `COMPATIBLE_LANGOPT` (or possibly a `BENIGN_LANGOPT`).
Made it a BENIGN_LANGOPT.
================
Comment at: include/clang/Basic/LangOptions.def:129
@@ -128,2 +128,3 @@
LANGOPT(ModulesErrorRecovery, 1, 1, "automatically import modules as needed when performing error recovery")
+LANGOPT(ModulesImplicitMaps, 1, 1, "use files called module.map implicitly as module maps")
COMPATIBLE_LANGOPT(Optimize , 1, 0, "__OPTIMIZE__ predefined macro")
----------------
djasper wrote:
> rsmith wrote:
> > rsmith wrote:
> > > `module.modulemap`
> > This should be a `COMPATIBLE_LANGOPT` (or possibly a `BENIGN_LANGOPT`).
> Made it a BENIGN_LANGOPT.
Done.
================
Comment at: include/clang/Driver/Options.td:678-680
@@ -677,2 +677,5 @@
Flags<[DriverOption, CC1Option]>;
+def fno_modules_implicit_maps :
+ Flag <["-"], "fno-modules-implicit-maps">,
+ Group<f_Group>, Flags<[DriverOption, CC1Option]>;
def fretain_comments_from_system_headers : Flag<["-"], "fretain-comments-from-system-headers">, Group<f_Group>, Flags<[CC1Option]>;
----------------
rsmith wrote:
> For driver options, we typically include both a `-fblah` and a `-fno-blah` (so the user can override earlier command-line options from `$CXXFLAGS` or similar).
Done.
http://reviews.llvm.org/D6305
More information about the cfe-commits
mailing list