[v3] libstdc++/20150

Gabriel Dos Reis gdr@integrable-solutions.net
Wed Feb 23 13:23:00 GMT 2005


Nathan Myers <ncm-nospam@cantrip.org> writes:

| On Wed, Feb 23, 2005 at 12:06:32AM -0600, Benjamin Kosnik wrote:
| > 
| > Fixups for allocator::allocate(0), tests.
| > 
| > tested x86/linux
| 
| > 2005-02-22  Benjamin Kosnik  <bkoz@redhat.com>
| > 
| > 	PR libstdc++/20150
| > 	* include/ext/malloc_allocator.h (malloc_allocator::allocate):
| > 	Check for zero size.
| > 	* include/ext/new_allocator.h: Same.
| > 	* include/ext/array_allocator.h: Same.
| > 	* include/ext/bitmap_allocator.h: Same.
| > 	* include/ext/mt_allocator.h: Same.	
| 
| I don't agree that these are desirable semantics for allocators, or that
| this is the right fix for the reported problem.  There's no particular
| reason for std::vector<> ever to try to allocate zero bytes, so this 
| can, and should, be fixed in std::vector, as an optimization if nothing
| else. 


After much consideration, I think NCM is right.  Our vector should not
have been trying to allocate 0 bytes.

I'm less decided whether it is good quality not to return null for 0
byte allocation.

-- Gaby



More information about the Libstdc++ mailing list