You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@stdcxx.apache.org by Eric Lemings <le...@roguewave.com> on 2007/09/07 19:32:37 UTC

Config Tests Comparison Questions

Notice the #if 2 == __GNUG__ directive in the following config source
file:
 
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/etc/config/src/NEW_T
HROWS.cpp?view=markup
 
The other config tests, such as the following source file, do not have
the outer #if 2 == __GNUG__ directive.
 
http://svn.apache.org/viewvc/incubator/stdcxx/trunk/etc/config/src/STD_B
AD_CAST.cpp?view=markup
 
I believe the intent/purpose of this outer directive is already covered
by the susequent _RWSTD_NO_HONOR_STD config check.  So is the outer #if
directive really needed?
 
Also the terminate() function in the first config test is defined
slightly different from the definition used in all other config tests.
Is this definition really equivalent to (i.e. substitutable with) the
other definitions?
 
Thanks.
 

Re: Config Tests Comparison Questions

Posted by Martin Sebor <se...@roguewave.com>.
Eric Lemings wrote:
> Notice the #if 2 == __GNUG__ directive in the following config source
> file:
>  
> http://svn.apache.org/viewvc/incubator/stdcxx/trunk/etc/config/src/NEW_T
> HROWS.cpp?view=markup
>  
> The other config tests, such as the following source file, do not have
> the outer #if 2 == __GNUG__ directive.
>  
> http://svn.apache.org/viewvc/incubator/stdcxx/trunk/etc/config/src/STD_B
> AD_CAST.cpp?view=markup
>  
> I believe the intent/purpose of this outer directive is already covered
> by the susequent _RWSTD_NO_HONOR_STD config check.  So is the outer #if
> directive really needed?

It probably isn't. It's too late to do anything about it for
4.2 but we should revisit it in 4.2.1. Can you open an issue?

>  
> Also the terminate() function in the first config test is defined
> slightly different from the definition used in all other config tests.
> Is this definition really equivalent to (i.e. substitutable with) the
> other definitions?

The first one is just super-paranoid to makes sure the test
eventually crashes. I'm not sure there was any real reason to
be this paranoid when it was added but I'm not aware of any
issues with either definition. It would be nice to be
consistent, though. We might want to move it to common
header.

Martin