diff options
| author | Timur Iskhodzhanov <timurrrr@google.com> | 2014-05-15 10:58:35 +0000 |
|---|---|---|
| committer | Timur Iskhodzhanov <timurrrr@google.com> | 2014-05-15 10:58:35 +0000 |
| commit | f32b690f690b151d4ed3f338630659768a7c8269 (patch) | |
| tree | eabc1268a56be49f77e9f6de26b4241a008f1801 /compiler-rt/test/asan/TestCases/Windows/aligned_mallocs.cc | |
| parent | b59e1a41f470ca9782e63b4484305db736f992e0 (diff) | |
| download | bcm5719-llvm-f32b690f690b151d4ed3f338630659768a7c8269.tar.gz bcm5719-llvm-f32b690f690b151d4ed3f338630659768a7c8269.zip | |
[ASan/Win tests] Add tests for aligned mallocs, bitfields and global strings
llvm-svn: 208859
Diffstat (limited to 'compiler-rt/test/asan/TestCases/Windows/aligned_mallocs.cc')
| -rw-r--r-- | compiler-rt/test/asan/TestCases/Windows/aligned_mallocs.cc | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/compiler-rt/test/asan/TestCases/Windows/aligned_mallocs.cc b/compiler-rt/test/asan/TestCases/Windows/aligned_mallocs.cc new file mode 100644 index 00000000000..bbbc423c7ba --- /dev/null +++ b/compiler-rt/test/asan/TestCases/Windows/aligned_mallocs.cc @@ -0,0 +1,29 @@ +// RUN: %clangxx_asan -O0 %s -Fe%t +// RUN: %run %t + +#include <windows.h> + +#define CHECK_ALIGNED(ptr,alignment) \ + do { \ + if (((uintptr_t)(ptr) % (alignment)) != 0) \ + return __LINE__; \ + } \ + while(0) + +int main(void) { + int *p = (int*)_aligned_malloc(1024 * sizeof(int), 32); + CHECK_ALIGNED(p, 32); + p[512] = 0; + _aligned_free(p); + + p = (int*)_aligned_malloc(128, 128); + CHECK_ALIGNED(p, 128); + p = (int*)_aligned_realloc(p, 2048 * sizeof(int), 128); + CHECK_ALIGNED(p, 128); + p[1024] = 0; + if (_aligned_msize(p, 128, 0) != 2048 * sizeof(int)) + return __LINE__; + _aligned_free(p); + + return 0; +} |

