[v3] libstdc++/9582

Loren James Rittle rittle@latour.rsch.comm.mot.com
Tue Feb 18 20:33:00 GMT 2003


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



More information about the Libstdc++ mailing list