Ruslan Baratov writes:

> On 22-Dec-15 04:07, Magnus Therning wrote:
>> Ruslan Baratov writes:
>>
>>> On 20-Dec-15 01:31, Magnus Therning wrote:
>>>> Ruslan Baratov writes:
>>>>
>>>>> How about using RelWithDebInfo? See:
>>>>> http://stackoverflow.com/a/28124715/2288008
>>>> Hmm, I'm probably missing something but how does that solve the issue
>>>> with some targets requiring NDEBUG to be *undefined* and other targets
>>>> requiring NDEBUG to be defined?
>>> I don't think that building targets with different NDEBUG values is a
>>> good idea. More correct approach will be to introduce custom macro to
>>> allow checks (i.e. FOO_NDEBUG/FOO_DEBUG).
>> Why not?
> It is possible to hit situation when ODR will be violated, e.g. if
> somebody define optional member in structure with "#if defined(NDEBUG)"
> condition. Something like this:
> http://stackoverflow.com/questions/20833226/library-headers-and-define

Yes, if we ever start using the NDEBUG macro to control anything in our
code then I'll have to worry about this, as it stands right now it's
only the `assert` from `assert.h` that cares about it.

If I'm reading you correctly you are advocating I simply get rid of the
use of those asserts altogether instead.

/M

--
Magnus Therning              OpenPGP: 0x927912051716CE39
email: mag...@therning.org   jabber: mag...@therning.org
twitter: magthe               http://therning.org/magnus

The results point out the fragility of programmer expertise: advanced
programmers have strong expectations about what programs should look like,
and when those expectations are violated--in seemingly innocuous
ways--their performance drops drastically.
     -- Elliot Soloway and Kate Ehrlich

Attachment: signature.asc
Description: PGP signature

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to