stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: _RWSTD_LIB_SRC macro is not #defined in src/export.cpp
Date Fri, 30 Nov 2007 23:38:58 GMT
Farid Zaripov wrote:
> From: Martin Sebor [mailto:sebor@roguewave.com]
> To: stdcxx-dev@incubator.apache.org
> Subject: Re: _RWSTD_LIB_SRC macro is not #defined in src/export.cpp
> 
> Farid Zaripov wrote:
>>>   I've found that _RWSTD_LIB_SRC macro is not #defined in src/export.cpp
>>> file.
>>>
>>>   This is a mistake, or it's required by design?
> 
>> The file is currently only used when compiling with EDG eccp when
>> exported templates are enabled. I don't think (but I'm not 100%
>> sure) we want to #define _RWSTD_LIB_SRC in this case because the
>> effect is to #define _RWSTD_NO_TEMPLATE_DEFINITIONS.
>  
>   If so, I think it would be more correctly to #define _RWSTD_LIB_SRC
> and also #define _RWSTD_INSTANTIATE_TEMPLATES.

The _RWSTD_INSTANTIATE_TEMPLATES part is an implementation detail
of _RWSTD_LIB_SRC. If we were to add another detail like that we'd
have to also remember to update export.cpp. That seems just as
brittle as what we're doing now (i.e., not #defining _RWSTD_LIB_SRC).

>  
>   The #define _RWSTD_LIB_SRC in every library src file is needed
> for the implementing the autolinking feature on MSVC.

I see. You're adding a #pragma comment to _config.h that expands
when _RWSTD_LIB_SRC is #defined and you need it to expand in all
library sources, correct?

Martin

Mime
View raw message