]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Added regression test for the C++ operators new, new[], delete and delete[].
authorBart Van Assche <bvanassche@acm.org>
Sat, 10 May 2008 08:48:14 +0000 (08:48 +0000)
committerBart Van Assche <bvanassche@acm.org>
Sat, 10 May 2008 08:48:14 +0000 (08:48 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8027

exp-drd/tests/Makefile.am
exp-drd/tests/new_delete.cpp [new file with mode: 0644]
exp-drd/tests/new_delete.stderr.exp [new file with mode: 0644]
exp-drd/tests/new_delete.vgtest [new file with mode: 0644]

index 39152e106756d430d4d065f3f6a47728e3e769bc..63892e91c9a1cb4c2334d85eadbd5e1d6fb16859 100644 (file)
@@ -43,6 +43,8 @@ EXTRA_DIST =                                        \
        matinv.vgtest                               \
        memory_allocation.stderr.exp                \
        memory_allocation.vgtest                    \
+       new_delete.stderr.exp                       \
+       new_delete.vgtest                           \
        omp_matinv.stderr.exp                       \
        omp_matinv.stdout.exp                       \
        omp_matinv.vgtest                           \
@@ -163,6 +165,7 @@ check_PROGRAMS_COMMON = \
   linuxthreads_det    \
   matinv              \
   memory_allocation   \
+  new_delete          \
   pth_barrier         \
   pth_broadcast       \
   pth_cond_race       \
@@ -210,7 +213,7 @@ endif
 
 
 drd_bitmap_test_SOURCES     = drd_bitmap_test.c
-drd_bitmap_test_CFLAGS      = $(AM_FLAG_M3264_PRI) -O2
+drd_bitmap_test_CFLAGS      = $(AM_CFLAGS) -O2
 
 fp_race_SOURCES             = fp_race.c
 fp_race_LDADD               = -lpthread
@@ -240,7 +243,8 @@ matinv_SOURCES              = matinv.c
 matinv_LDADD                = -lpthread -lm
 
 memory_allocation_SOURCES   = memory_allocation.c
-memory_allocation_LDADD     =
+
+new_delete_SOURCES          = new_delete.cpp
 
 pth_barrier_SOURCES         = pth_barrier.c
 pth_barrier_LDADD           = -lpthread
diff --git a/exp-drd/tests/new_delete.cpp b/exp-drd/tests/new_delete.cpp
new file mode 100644 (file)
index 0000000..8ec51e8
--- /dev/null
@@ -0,0 +1,15 @@
+/** Simple regression test triggering the C++ operators new and delete. */
+
+#include <stdio.h>
+
+int main(int argc, char** argv)
+{
+  int* p = new int;
+  int* q = new int[733];
+  delete[] q;
+  delete p;
+
+  fprintf(stderr, "Success.\n");
+
+  return 0;
+}
diff --git a/exp-drd/tests/new_delete.stderr.exp b/exp-drd/tests/new_delete.stderr.exp
new file mode 100644 (file)
index 0000000..06ad776
--- /dev/null
@@ -0,0 +1,4 @@
+
+Success.
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/exp-drd/tests/new_delete.vgtest b/exp-drd/tests/new_delete.vgtest
new file mode 100644 (file)
index 0000000..1d9a37c
--- /dev/null
@@ -0,0 +1,2 @@
+prereq: ./supported_libpthread
+prog: new_delete