[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