From 780ceee3ab1a56081f897b0b49ac73dd992f448f Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Mon, 29 Sep 2014 17:46:41 +0000 Subject: [PATCH] Update modules documentation now that C++ support is working pretty well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@218614 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/Modules.rst | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/docs/Modules.rst b/docs/Modules.rst index 112ad4f039..f47b6ace09 100644 --- a/docs/Modules.rst +++ b/docs/Modules.rst @@ -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: -- 2.40.0