This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [v3] libstdc++/9582


In article <3E52131A.7000404@unitus.it> you write:

>	PR libstdc++/9582
>	* include/bits/stl_alloc.h (__pool_alloc::allocate): Remove assert.

> -	    // Trust but verify...
> -	    assert(_S_force_new != 0);

Thanks Paolo, that was my comment and my particular assert().  The PR
raised an interesting QoI point: "I think that the contents of
standard headers (other than cassert) should not depend on the macro
NDEBUG, and cassert should not be included by other standard headers."

Should __debug_alloc<> (which contains the same ODR violation) be
documented and changed to unconditionally abort() when a size mismatch
is detected?  This way we can remove the <cassert> inclusion entirely.

Regards,
Loren


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]