[ 
https://issues.apache.org/jira/browse/STDCXX-978?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12615423#action_12615423
 ] 

Eric Lemings commented on STDCXX-978:
-------------------------------------

Checked all log files in the {{{/www/stdcxx.dev.apache.org/builds/4.3.x/logs}}} 
directory.  None of the macros {{{_RWSTD_NO_MEMBER_TEMPLATES}}}, 
{{{_RWSTD_NO_MEMBER_TEMPLATE_OVERLOAD}}}, and 
{{{_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE}}} are being defined.  I'm leaving the 
return type macro untouched however since it is unrelated to this issue (unlike 
the overload macro).

> 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.0
>            Reporter: Martin Sebor
>            Assignee: Eric Lemings
>             Fix For: 4.3.0
>
>   Original Estimate: 6h
>  Remaining Estimate: 6h
>
> 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.

Reply via email to