This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Vector new bug ??
- To: Günter Neiß <gneiss at schoenhofer dot de>
- Subject: Re: Vector new bug ??
- From: Florian Weimer <fw at deneb dot enyo dot de>
- Date: Fri, 12 Oct 2001 12:10:40 +0200
- Cc: gcc at gcc dot gnu dot org
- References: <3BC6B6FE.69BC3A06@schoenhofer.de>
Günter Neiß <gneiss@schoenhofer.de> writes:
> Hi,
>
> I found the following bug:
>
> Using some templates that uses:
>
> template<class T>
> ....
> t * p = new T[ size ];
>
>
> Everything works fine, as long as 'size' isn't 0.
>
> In that case I got an exeption inside 'builin vector new' (shown by
> gdb).
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).