Update modules documentation now that C++ support is working pretty well.

llvm-svn: 218614
This commit is contained in:
Richard Smith 2014-09-29 17:46:41 +00:00
parent 928229fda6
commit bf65300f3f
1 changed files with 3 additions and 6 deletions

View File

@ -114,7 +114,7 @@ Objective-C provides syntax for importing a module via an *@import declaration*,
@import std; @import std;
The @import declaration above imports the entire contents of the ``std`` module (which would contain, e.g., the entire C or C++ standard library) and make its API available within the current translation unit. To import only part of a module, one may use dot syntax to specific a particular submodule, e.g., The ``@import`` declaration above imports the entire contents of the ``std`` module (which would contain, e.g., the entire C or C++ standard library) and make its API available within the current translation unit. To import only part of a module, one may use dot syntax to specific a particular submodule, e.g.,
.. parsed-literal:: .. parsed-literal::
@ -166,7 +166,7 @@ Command-line parameters
Enable the modules feature (EXPERIMENTAL). Enable the modules feature (EXPERIMENTAL).
``-fcxx-modules`` ``-fcxx-modules``
Enable the modules feature for C++ (EXPERIMENTAL and VERY BROKEN). Enable the modules feature for C++ (EXPERIMENTAL).
``-fmodule-maps`` ``-fmodule-maps``
Enable interpretation of module maps (EXPERIMENTAL). This option is implied by ``-fmodules``. Enable interpretation of module maps (EXPERIMENTAL). This option is implied by ``-fmodules``.
@ -832,14 +832,11 @@ Modules is an experimental feature, and there is much work left to do to make it
Unlike with ``#include`` directives, it should be fairly simple to track whether a directly-imported module has ever been used. By doing so, Clang can emit ``unused import`` or ``unused #include`` diagnostics, including Fix-Its to remove the useless imports/includes. Unlike with ``#include`` directives, it should be fairly simple to track whether a directly-imported module has ever been used. By doing so, Clang can emit ``unused import`` or ``unused #include`` diagnostics, including Fix-Its to remove the useless imports/includes.
**Fix-Its for missing imports** **Fix-Its for missing imports**
It's fairly common for one to make use of some API while writing code, only to get a compiler error about "unknown type" or "no function named" because the corresponding header has not been included. Clang should detect such cases and auto-import the required module (with a Fix-It!). It's fairly common for one to make use of some API while writing code, only to get a compiler error about "unknown type" or "no function named" because the corresponding header has not been included. Clang can detect such cases and auto-import the required module, but should provide a Fix-It to add the import.
**Improve modularize** **Improve modularize**
The modularize tool is both extremely important (for deployment) and extremely crude. It needs better UI, better detection of problems (especially for C++), and perhaps an assistant mode to help write module maps for you. The modularize tool is both extremely important (for deployment) and extremely crude. It needs better UI, better detection of problems (especially for C++), and perhaps an assistant mode to help write module maps for you.
**C++ Support**
Modules clearly has to work for C++, or we'll never get to use it for the Clang code base.
Where To Learn More About Modules Where To Learn More About Modules
================================= =================================
The Clang source code provides additional information about modules: The Clang source code provides additional information about modules: