12 messages in org.apache.incubator.stdcxx-devRe: Empty member initializers
FromSent OnAttachments
Eric LemingsJun 10, 2008 3:45 pm 
Travis VitekJun 10, 2008 4:13 pm 
Eric LemingsJun 11, 2008 8:45 am 
Travis VitekJun 11, 2008 11:31 am 
Martin SeborJun 12, 2008 5:00 am 
Eric LemingsJun 16, 2008 2:26 pm 
Travis VitekJun 16, 2008 2:34 pm 
Eric LemingsJun 16, 2008 3:50 pm 
Travis VitekJun 16, 2008 4:33 pm 
Martin SeborJun 28, 2008 4:01 pm 
Martin SeborJun 28, 2008 4:12 pm 
Farid ZaripovJul 1, 2008 4:36 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: Empty member initializersActions
From:Martin Sebor (seb@roguewave.com)
Date:Jun 28, 2008 4:01:28 pm
List:org.apache.incubator.stdcxx-dev

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