r218614 - Update modules documentation now that C++ support is working pretty well.
Richard Smith
richard at metafoo.co.uk
Tue Sep 30 16:21:29 PDT 2014
After requests on IRC, it seems people prefer to make -fmodules turn on C++
modules now rather than waiting until closer to 3.6; that's done in r218717.
On Tue, Sep 30, 2014 at 11:33 AM, Richard Smith <richard at metafoo.co.uk>
wrote:
> I think we'll be ready to do this for Clang 3.6. I don't have strong
> feelings about whether we should do this now or wait until we've had more
> time for testing and bug fixes, though.
>
> On Tue, Sep 30, 2014 at 1:16 AM, Vassil Vassilev <
> vasil.georgiev.vasilev at cern.ch> wrote:
>
>> That is pretty cool! Does this mean we could merge fcxx-modules into
>> fmodules flags?
>> Vassil
>>
>> On 09/29/2014 07:46 PM, Richard Smith wrote:
>>
>>> Author: rsmith
>>> Date: Mon Sep 29 12:46:41 2014
>>> New Revision: 218614
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=218614&view=rev
>>> Log:
>>> Update modules documentation now that C++ support is working pretty well.
>>>
>>> Modified:
>>> cfe/trunk/docs/Modules.rst
>>>
>>> Modified: cfe/trunk/docs/Modules.rst
>>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/
>>> Modules.rst?rev=218614&r1=218613&r2=218614&view=diff
>>> ============================================================
>>> ==================
>>> --- cfe/trunk/docs/Modules.rst (original)
>>> +++ cfe/trunk/docs/Modules.rst Mon Sep 29 12:46:41 2014
>>> @@ -114,7 +114,7 @@ Objective-C provides syntax for importin
>>> @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
>>> 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:
>>>
>>>
>>> _______________________________________________
>>> cfe-commits mailing list
>>> cfe-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140930/7b48356e/attachment.html>
More information about the cfe-commits
mailing list