summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.law/operators4.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.law/operators4.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators4.C32
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators4.C b/gcc/testsuite/g++.old-deja/g++.law/operators4.C
new file mode 100644
index 000000000..fc623b4fc
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.law/operators4.C
@@ -0,0 +1,32 @@
+// { dg-do assemble }
+// GROUPS passed operators
+// opr-del file
+// From: rollins@bart.ee.queensu.ca (Mark Rollins)
+// Date: Thu, 3 Sep 1992 22:01:03 -0400 Fri, 4 Sep 1992 02:00:25 GMT
+// Subject: delete [size] pointer; Problem
+// Message-ID: <92Sep3.220137edt.30@jarvis.csri.toronto.edu>
+
+#include <complex>
+typedef std::complex<double> Complex;
+#include <stdio.h>
+
+class Vector {
+ int size;
+ Complex *v;
+ public:
+ Vector(int s=1) { size = s; v = new Complex[size];}
+ ~Vector() { delete [size] v;}// { dg-error "" } warning
+};
+
+void foo(int s)
+{
+ Vector junk(s);
+}
+
+int main()
+{
+ Vector* test;
+ for (int i=0;i<40;i++) // was 100000
+ foo(1000);
+ printf ("PASS\n");
+}