"Rozental, Gennadiy" <[EMAIL PROTECTED]> writes:

>> "Gennadiy Rozental" <[EMAIL PROTECTED]> writes:
>> 
>> >> metrowerks-C++-action
>> > 
>> c:\build\libs\test\build\bin\libboost_unit_test_framework.lib\
> cwpro8.3\debug
>> > \runtime-link-dynamic\execution_monitor.obj
>> >> ### mwcc Compiler:
>> >> #    File: ..\libs\test\src\execution_monitor.cpp
>> >> # -----------------------------------------------
>> >> #     157:      case _CRT_ASSERT:
>> >> #   Error:           ^^^^^^^^^^^
>> >> #   undefined identifier '_CRT_ASSERT'
>> >> ### mwcc Compiler:
>> >> #     161:      case _CRT_ERROR:
>> >> #   Error:           ^^^^^^^^^^
>> >> #   undefined identifier '_CRT_ERROR'
>> >
>> > This one appears to be caused by the fact that metrowerks 
>> tools does not
>> > define the symbol _DEBUG in debug mode
>> 
>> Why don't you fix that one, too?
>> _DEBUG is an MSVC-specific symbol.
>
> MSVC toolset defines it. 

I see no evidence to support that claim.

The msvc compiler flags which turn on debug symbols, etc., also cause
_DEBUG to be defined.  The toolset never touches "_DEBUG".

> While metrowerks don't. Do you want me to fix the latter?

I don't think I want you to "fix" it.  As a user, you're not allowed
to #define _DEBUG, since that symbol is reserved to the
implementation.

> Where would be the best place to put debug specific definitions?

    #ifndef NDEBUG
       ...
    #endif

Might be a good choice.  There are other possibilities, though.  I'm
not really sure what you're trying to achieve, but it's a mistake to
assume that all Windows compilers will define that symbol in "debug
mode" (which is itself not a well-defined concept).

-- 
                       David Abrahams
   [EMAIL PROTECTED] * http://www.boost-consulting.com
Boost support, enhancements, training, and commercial distribution

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to