stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Farid Zaripov" <Far...@kyiv.vdiweb.com>
Subject RE: [PATCH] etc/config/src
Date Mon, 25 Sep 2006 16:16:18 GMT
> -----Original Message-----
> From: Martin Sebor [mailto:sebor@roguewave.com] 
> Sent: Monday, September 25, 2006 5:50 PM
> To: stdcxx-dev@incubator.apache.org
> Subject: Re: [PATCH] etc/config/src
> 
[...]

> Good catch! Should we do the same for _RWSTD_NO_HONOR_STD 
> since it's being used in the same config tests as well? (You 
> can commit your change separately if you want.)
_RWSTD_NO_HONOR_STD and _RWSTD_NO_STD_TERMINATE macros
are already used in RUNTIME_IN_STD.cpp (so RUNTIME_IN_STD.cpp
depends on HONOR_STD.cpp and STD_TERMINATE.cpp).

> >   2. The file TLS.cpp uses __thread modifier, but with MSVC (and 
> > ICC/Windows as well) should used __declspec (thread) modifier.
> > 
> Great! We will also need to make a corresponding change to 
> rw/_defs.h

  It's already done:
  
rw/_config-msvc.h, line 143:
#  ifndef _RWSTD_NO_TLS
       // thread-local stoprage declaration specifier
#    ifndef _RWSTD_THREAD
#      define _RWSTD_THREAD   __declspec (thread)
#    endif   // _RWSTD_THREAD
#  endif   // _RWSTD_NO_TLS

rw/_defs.h, line 696:
   // thread-local storage
#  ifndef _RWSTD_NO_TLS
#    ifndef _RWSTD_THREAD
       // if the macro isn't yet #defined (e.g., in _config.h)
       // use the generally accepted (e.g., HP aCC, gcc, SunPro)
       // __thread extension
#      define _RWSTD_THREAD   __thread
#    endif   // _RWSTD_THREAD

#    define _RWSTD_THREAD_PREINCREMENT(x, ignore)                    \
        (++(x))
#    define _RWSTD_THREAD_PREDECREMENT(x, ignore)                    \
        (--(x))
#    define _RWSTD_THREAD_SWAP(x, y, ignore)                         \
        _RW::__rw_ordinary_exchange  (x, y)

#  endif   // _RWSTD_NO_TLS

> or change the test to print out the #definition of 
> the macro.
  What is the test do you mean?

Farid.

Mime
View raw message