stdcxx-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Sebor (JIRA)" <j...@apache.org>
Subject [jira] Created: (STDCXX-978) remove _RWSTD_NO_MEMBER_TEMPLATES and workarounds
Date Sat, 28 Jun 2008 23:19:45 GMT
remove _RWSTD_NO_MEMBER_TEMPLATES and workarounds
-------------------------------------------------

                 Key: STDCXX-978
                 URL: https://issues.apache.org/jira/browse/STDCXX-978
             Project: C++ Standard Library
          Issue Type: Task
          Components: Configuration
    Affects Versions: 4.3
            Reporter: Martin Sebor
             Fix For: 4.3


Quoting from the following [discussion|http://markmail.org/message/r64lwtgmbe5lcgsl]:

{quote}
Martin Sebor wrote:
> Travis Vitek wrote:
>>  
>>
>>> Eric Lemings wrote:
>>>
>>>> Travis Vitek wrote:
>>>>
>>>>> Eric Lemings wrote:
>>>>>
>>>>> How about member templates?  Are these unilaterally supported by all
>>>>> compilers now?
>>>>>
>>>> From below...
>>>>
>>>>   {{\_RWSTD_NO_INLINE_MEMBER_TEMPLATES /* not used at all */}}
>>> Well there's an {{INLINE_MEMBER_TEMPLATES.cpp}} check and then there's a
>>> separate {{MEMBER_TEMPLATES.cpp}} check.  I assume they check different
>>> things.  :)
>>
>> Yes, I realize this. The former checks that inline member templates are
>> supported. The latter checks that member templates can be defined
>> outside the body of the class.
>>
>> AFAICT, inline member templates are used in library code without guards,
>> so you can safely assume support for 4.2.x and later.
>>
>> If you want anything further than that [i.e. member templates defined
>> outside the body of the class, member template overloads, ...], you have
>> to look to see what all of the supported compilers allow. If one or more
>> of the currently supported compilers defines {{\_RWSTD_NO_MEMBER_TEMPLATES}},
>> then you will likely have to work around the issue in any new code. If
>> none of them define it, then some decision will have to be made if it is
>> safe to assume support for other compilers or not.
> 
> Starting with 4.3.0, I think we can safely assume full support for
> member templates and remove all workarounds involving the macros
> as well as the macros (and the config test) themselves. The only
> thing I'd double-check before doing this cleanup is string when
> using HP aCC 3 because of an extern template bug.
> 
> I don't even think there is a compiler that we target with 4.2.x
> that doesn't support member templates in any form. IIRC, the last
> one that had trouble with member templates (their out-of-line
> definitions) was MSVC 6.
> 
> Martin
{quote}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message