Re: [Boost-bugs] [Boost C++ Libraries] #3363: linking 2 files compiled with different NDEBUG causes segfault

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #3363: linking 2 files compiled with different NDEBUG causes segfault
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-04-01 02:34:24


#3363: linking 2 files compiled with different NDEBUG causes segfault
----------------------------+-----------------------------------------------
 Reporter: smr@… | Owner: az_sw_dude
     Type: Bugs | Status: new
Milestone: Boost 1.40.0 | Component: date_time
  Version: Boost 1.39.0 | Severity: Problem
 Keywords: |
----------------------------+-----------------------------------------------

Comment(by anonymous):

 Replying to [comment:2 vladimir_prus]:
> Generally speaking, why is this a problem? In general, NDEBUG may change
 ABI, and therefore should be consistent for entire application -- unless
 there's a standard saying otherwise.

 What I can find on the web is http://www.visualco.de/NDEBUG.html which
 asserts that

   The C standard only dictates that when NDEBUG is defined, the assert
 macro shall expand to nothing. NDEBUG has no other effect or meaning.

 The standardization of assert() supports that; c.f.
 http://www.opengroup.org/onlinepubs/9699919799/functions/assert.html I
 don't know of anything that states '''NDEBUG may change ABI''' -- do you?

 One problem the current situation causes is that a boost-using library may
 be compiled without NDEBUG while someone's application uses NDEBUG, and
 then goes kabloom when it runs.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3363#comment:3>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:02 UTC