re PR c++/33124 (C++ frontend should not warn about new a[0] in template context)
/cp 2007-09-16 Paolo Carlini <pcarlini@suse.de> PR c++/33124 * init.c (build_new): Remove warning for zero-element allocations. /testsuite 2007-09-16 Paolo Carlini <pcarlini@suse.de> PR c++/33124 * g++.dg/warn/new1.C: Adjust. * g++.dg/torture/str_empty.C: Likewise. From-SVN: r128531
This commit is contained in:
parent
348eea5f00
commit
57711cd1b3
|
@ -1,3 +1,9 @@
|
|||
2007-09-16 Paolo Carlini <pcarlini@suse.de>
|
||||
|
||||
PR c++/33124
|
||||
* init.c (build_new): Remove warning for zero-element
|
||||
allocations.
|
||||
|
||||
2007-09-16 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
cp/
|
||||
|
|
|
@ -2173,21 +2173,6 @@ build_new (tree placement, tree type, tree nelts, tree init,
|
|||
if (!build_expr_type_conversion (WANT_INT | WANT_ENUM, nelts, false))
|
||||
pedwarn ("size in array new must have integral type");
|
||||
nelts = cp_save_expr (cp_convert (sizetype, nelts));
|
||||
/* It is valid to allocate a zero-element array:
|
||||
|
||||
[expr.new]
|
||||
|
||||
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.]
|
||||
|
||||
However, that is not generally useful, so we issue a
|
||||
warning. */
|
||||
if (integer_zerop (nelts))
|
||||
warning (0, "allocating zero-element array");
|
||||
}
|
||||
|
||||
/* ``A reference cannot be created by the new operator. A reference
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2007-09-16 Paolo Carlini <pcarlini@suse.de>
|
||||
|
||||
PR c++/33124
|
||||
* g++.dg/warn/new1.C: Adjust.
|
||||
* g++.dg/torture/str_empty.C: Likewise.
|
||||
|
||||
2007-09-16 Richard Sandiford <rsandifo@nildram.co.uk>
|
||||
|
||||
* gcc.target/mips/dse-1.c: New test.
|
||||
|
|
|
@ -9,7 +9,7 @@ struct polynomial {
|
|||
|
||||
void spline_rep1 ()
|
||||
{
|
||||
new polynomial[0]; // { dg-warning "allocating zero-element array" }
|
||||
new polynomial[0]; // { dg-bogus "allocating zero-element array" }
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
void f() {
|
||||
new int[0]; // { dg-warning "zero" }
|
||||
new int[0]; // { dg-bogus "zero" }
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue