[Patch][BugzillaID#18985] Document __has_feature(modules)

Ben Langmuir blangmuir at apple.com
Thu Sep 18 09:04:37 PDT 2014


> On Sep 18, 2014, at 3:47 AM, Vassil Vassilev <vasil.georgiev.vasilev at cern.ch> wrote:
> 
> On 09/17/2014 09:51 PM, Ben Langmuir wrote:
>>> Index: docs/LanguageExtensions.rst
>>> ===================================================================
>>> --- docs/LanguageExtensions.rst	(revision 217389)
>>> +++ docs/LanguageExtensions.rst	(working copy)
>>> @@ -477,6 +477,13 @@
>>>  Use ``__has_feature(cxx_rtti)`` to determine if C++ RTTI has been enabled.  For
>>>  example, compiling code with ``-fno-rtti`` disables the use of RTTI.
>>>  +C++ Modules
>>> +^^^^^^^^
>>> +
>>> +Use ``__has_feature(modules)`` to determine if experimental C++ Modules have
>>> +been enabled. For example, compiling code with ``-fmodules`` enables the use of
>>> +C++ Modules.
>>> +
>>>  C++11
>>>  -----
>>> 
>> Why are we making this specific to C++ modules?  Modules are supported in C/ObjC. And to actually get modules in C++ you also need -fcxx-modules.
> Thanks for the comments. lib/Driver/Tools.cpp:3790 says:
>  // -fmodules enables modules (off by default). However, for C++/Objective-C++,
>  // users must also pass -fcxx-modules. The latter flag will disappear once the
>  // modules implementation is solid for C++/Objective-C++ programs as well.
> 
> I prefer not to document the -fcxx-modules.

Yep, makes sense.

> The attached patch doesn't mention the C++ modules but Modules in general (I decided to put them into a separate section). Is it any better?
> Vassil

Much better - a couple more comments below:

> +Modules
> +-------
> +
> +C/ObjC Modules
> +^^^^^^^^^^^^^^

Do we really need a sub-heading?  If we do need one I suggest “C and Objective-C Modules”.  Otherwise just a heading “Modules” seems sufficient.

> +
> +Use ``__has_feature(modules)`` to determine if Modules have been enabled.
> +For example, compiling code with ``-fmodules`` enables the use of Modules.

I suggest we put in a link to the modules documentation.

>> 
>> Ben
>> 
>>> On Sep 17, 2014, at 12:59 AM, Vassil Vassilev <vasil.georgiev.vasilev at cern.ch> wrote:
>>> 
>>> Hi,
>>>  I am attaching a patch addressing http://llvm.org/bugs/show_bug.cgi?id=18985
>>>  I wasn't sure whether I had to say 'experimental C++ modules'.
>>> Vassil
>>> <Bug18985.diff>_______________________________________________
>>> cfe-commits mailing list
>>> cfe-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> 
> <Bug18985_1.diff>





More information about the cfe-commits mailing list