OSDN Git Service

/cp
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 16 Sep 2007 22:54:12 +0000 (22:54 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 16 Sep 2007 22:54:12 +0000 (22:54 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128531 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/init.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/torture/str_empty.C
gcc/testsuite/g++.dg/warn/new1.C

index 6e8a8b9..aa4659f 100644 (file)
@@ -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/
index cafc721..e11d184 100644 (file)
@@ -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
index 1fea6a1..1c5209a 100644 (file)
@@ -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.
index 0a6aabf..e24f0b6 100644 (file)
@@ -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" }
 }
 
 
index 6b78368..b50b2c3 100644 (file)
@@ -1,3 +1,3 @@
 void f() {
-  new int[0]; // { dg-warning "zero" }
+  new int[0]; // { dg-bogus "zero" }
 }