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
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