Your change and your documentation don't match. The difference is the behavior 
in the case where a module is not provided explicitly but is found in the 
module cache; your documentation says this is invalid but your code accepts it. 
I think the more principled approach would be to do as your documentation 
suggests: require all modules to be provided via explicitly-specified `.pcm` 
files, and never look in the module cache.

I would also like to bikeshed the flag name; `-fno-implicit-modules` seems like 
a better name to me. I'd also suggest renaming `-fno-modules-implicit-maps` to 
`-fno-implicit-module-maps` because "module map" is the term of art here, and 
it doesn't make sense to split this term. Grouping these flags under 
`-fmodules` seems secondary to having them make sense as flag names.


================
Comment at: docs/Modules.rst:213-214
@@ -212,1 +212,4 @@
 
+``-fno-modules-implicit-bulids``
+  All modules used by the build must be specified with ``-fmodule-file``.
+
----------------
Please also add documentation for `-fmodule-file` if you're going to reference 
it from here. =)

================
Comment at: include/clang/Basic/DiagnosticCommonKinds.td:84-85
@@ -83,2 +83,4 @@
 def err_module_not_built : Error<"could not build module '%0'">, DefaultFatal;
+def err_module_build_disabled: Error<
+  "module '%0' not found, but module build was disabled">, DefaultFatal;
 def err_module_lock_failure : Error<
----------------
This seems like the wrong message to produce -- the problem here is that the 
module *was* found in some loaded module map file, but a prebuilt form of that 
module was not provided.

http://reviews.llvm.org/D6707

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/



_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to