From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carlo Wood To: Florian Weimer Cc: Günter Neiß , gcc@gcc.gnu.org Subject: Re: Vector new bug ?? Date: Fri, 12 Oct 2001 06:45:00 -0000 Message-id: <20011012154457.A10564@alinoe.com> References: <3BC6B6FE.69BC3A06@schoenhofer.de> <87lmihkw2n.fsf@deneb.enyo.de> X-SW-Source: 2001-10/msg00760.html On Fri, Oct 12, 2001 at 12:10:40PM +0200, Florian Weimer wrote: > Günter Neiß writes: > > t * p = new T[ size ]; > > Everything works fine, as long as 'size' isn't 0. > This is indeed a bug: > > | When the value of the expression in a direct-new-declarator is zero, > | the allocation function is called to allocate an array with no > | elements. The pointer returned by the new-expression is non-null. > | [Note: If the library allocation function is called, the pointer > | returned is distinct from the pointer to any other object. ] > > ISO/IEC 14882:1998, 5.3.4(7). Weird that this is allowed, after all - zero elements for a normal array isn't allowed either. -- Carlo Wood