forked from OSchip/llvm-project
Update modules documentation now that C++ support is working pretty well.
llvm-svn: 218614
This commit is contained in:
parent
928229fda6
commit
bf65300f3f
clang/docs
|
@ -114,7 +114,7 @@ Objective-C provides syntax for importing a module via an *@import declaration*,
|
|||
|
||||
@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::
|
||||
|
||||
|
@ -166,7 +166,7 @@ Command-line parameters
|
|||
Enable the modules feature (EXPERIMENTAL).
|
||||
|
||||
``-fcxx-modules``
|
||||
Enable the modules feature for C++ (EXPERIMENTAL and VERY BROKEN).
|
||||
Enable the modules feature for C++ (EXPERIMENTAL).
|
||||
|
||||
``-fmodule-maps``
|
||||
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.
|
||||
|
||||
**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**
|
||||
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
|
||||
=================================
|
||||
The Clang source code provides additional information about modules:
|
||||
|
|
Loading…
Reference in New Issue