Home | History | Annotate | Download | only in Windows
      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)
      9 int 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