Farid Zaripov wrote:
[...]
_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).

I see. That takes care of it then.



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

Doh! I only looked in rw/_defs.h (below).


rw/_defs.h, line 696:
   // thread-local storage
[...]
or change the test to print out the #definition of the macro.

  What is the test do you mean?

I was suggesting that the TLS.cpp config test be changed to print
out the #definition of the _RWSTD_THREAD_MACRO that's appropriate
for the compiler. That would let us keep all the logic in the test
and simplify the preprocessor conditionals in the rw/_config.h and
rw/_defs.h headers.

Either way is fine with me. If you want to just commit your patch
please go ahead.

Martin

Reply via email to