summaryrefslogtreecommitdiff
path: root/test/scudo/sized-delete.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/scudo/sized-delete.cpp')
-rw-r--r--test/scudo/sized-delete.cpp41
1 files changed, 0 insertions, 41 deletions
diff --git a/test/scudo/sized-delete.cpp b/test/scudo/sized-delete.cpp
deleted file mode 100644
index 81151b097481..000000000000
--- a/test/scudo/sized-delete.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
-// RUN: %clangxx_scudo -fsized-deallocation %s -o %t
-// RUN: %env_scudo_opts=DeleteSizeMismatch=1 %run %t gooddel 2>&1
-// RUN: %env_scudo_opts=DeleteSizeMismatch=1 not %run %t baddel 2>&1 | FileCheck %s
-// RUN: %env_scudo_opts=DeleteSizeMismatch=0 %run %t baddel 2>&1
-// RUN: %env_scudo_opts=DeleteSizeMismatch=1 %run %t gooddelarr 2>&1
-// RUN: %env_scudo_opts=DeleteSizeMismatch=1 not %run %t baddelarr 2>&1 | FileCheck %s
-// RUN: %env_scudo_opts=DeleteSizeMismatch=0 %run %t baddelarr 2>&1
-
-// Ensures that the sized delete operator errors out when the appropriate
-// option is passed and the sizes do not match between allocation and
-// deallocation functions.
-
-#include <assert.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <new>
-
-int main(int argc, char **argv)
-{
- assert(argc == 2);
- if (!strcmp(argv[1], "gooddel")) {
- long long *p = new long long;
- operator delete(p, sizeof(long long));
- }
- if (!strcmp(argv[1], "baddel")) {
- long long *p = new long long;
- operator delete(p, 2);
- }
- if (!strcmp(argv[1], "gooddelarr")) {
- char *p = new char[64];
- operator delete[](p, 64);
- }
- if (!strcmp(argv[1], "baddelarr")) {
- char *p = new char[63];
- operator delete[](p, 64);
- }
- return 0;
-}
-
-// CHECK: ERROR: invalid sized delete when deallocating address