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