From: paolo Date: Sun, 16 Sep 2007 22:54:12 +0000 (+0000) Subject: /cp X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=14070fbede8cb81180f50d78b076bc40b1a6e340;p=thirdparty%2Fgcc.git /cp 2007-09-16 Paolo Carlini PR c++/33124 * init.c (build_new): Remove warning for zero-element allocations. /testsuite 2007-09-16 Paolo Carlini PR c++/33124 * g++.dg/warn/new1.C: Adjust. * g++.dg/torture/str_empty.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128531 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 6e8a8b9e5b91..aa4659f7654a 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2007-09-16 Paolo Carlini + + PR c++/33124 + * init.c (build_new): Remove warning for zero-element + allocations. + 2007-09-16 Nathan Sidwell cp/ diff --git a/gcc/cp/init.c b/gcc/cp/init.c index cafc72171070..e11d18433b3c 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -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 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1fea6a1daafd..1c5209a66a57 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2007-09-16 Paolo Carlini + + PR c++/33124 + * g++.dg/warn/new1.C: Adjust. + * g++.dg/torture/str_empty.C: Likewise. + 2007-09-16 Richard Sandiford * gcc.target/mips/dse-1.c: New test. diff --git a/gcc/testsuite/g++.dg/torture/str_empty.C b/gcc/testsuite/g++.dg/torture/str_empty.C index 0a6aabf7c333..e24f0b6ac9f7 100644 --- a/gcc/testsuite/g++.dg/torture/str_empty.C +++ b/gcc/testsuite/g++.dg/torture/str_empty.C @@ -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" } } diff --git a/gcc/testsuite/g++.dg/warn/new1.C b/gcc/testsuite/g++.dg/warn/new1.C index 6b78368aaecf..b50b2c354e7a 100644 --- a/gcc/testsuite/g++.dg/warn/new1.C +++ b/gcc/testsuite/g++.dg/warn/new1.C @@ -1,3 +1,3 @@ void f() { - new int[0]; // { dg-warning "zero" } + new int[0]; // { dg-bogus "zero" } }