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

Vassil Vassilev vvasilev at cern.ch
Thu Sep 18 11:08:16 PDT 2014


On 18/09/14 18:04, Ben Langmuir wrote:
>> 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.
Yep good point.
>
>> +
>> +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.
Now should be better. Thanks!
Vassil
>
>>> 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>


-- 
--------------------------------------------
Q: Why is this email five sentences or less?
A: http://five.sentenc.es

-------------- next part --------------
A non-text attachment was scrubbed...
Name: Bug18985_2.diff
Type: text/x-patch
Size: 698 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140918/d1d7c4ff/attachment.bin>


More information about the cfe-commits mailing list