1 // RUN: %clang_cl_asan -O0 %p/dll_host.cc -Fe%t 2 // RUN: %clang_cl_asan -LD -O0 %s -Fe%t.dll 3 // RUN: %run %t %t.dll | FileCheck %s 4 5 #include <malloc.h> 6 #include <stdio.h> 7 8 extern "C" __declspec(dllexport) test_function()9int test_function() { 10 int *p = (int*)malloc(1024 * sizeof(int)); 11 p[512] = 0; 12 free(p); 13 14 p = (int*)malloc(128); 15 p = (int*)realloc(p, 2048 * sizeof(int)); 16 p[1024] = 0; 17 free(p); 18 19 p = (int*)calloc(16, sizeof(int)); 20 if (p[8] != 0) 21 return 1; 22 p[15]++; 23 if (16 * sizeof(int) != _msize(p)) 24 return 2; 25 free(p); 26 27 p = new int; 28 *p = 42; 29 delete p; 30 31 p = new int[42]; 32 p[15]++; 33 delete [] p; 34 35 printf("All ok\n"); 36 // CHECK: All ok 37 38 return 0; 39 } 40