diff options
author | Anton Yartsev <anton.yartsev@gmail.com> | 2015-03-04 23:18:21 +0000 |
---|---|---|
committer | Anton Yartsev <anton.yartsev@gmail.com> | 2015-03-04 23:18:21 +0000 |
commit | 9907fc9053cae863870205c69e2ddbd4e29c857d (patch) | |
tree | 9a25934c518db309515c4721a61a9026ca18140b /clang/test/Analysis/malloc.c | |
parent | 6ab161497a60e2c12fde66a618cf9ce061a7cb3c (diff) | |
download | bcm5719-llvm-9907fc9053cae863870205c69e2ddbd4e29c857d.tar.gz bcm5719-llvm-9907fc9053cae863870205c69e2ddbd4e29c857d.zip |
[analyzer] Bug fix: do not report leaks for alloca()
llvm-svn: 231314
Diffstat (limited to 'clang/test/Analysis/malloc.c')
-rw-r--r-- | clang/test/Analysis/malloc.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/test/Analysis/malloc.c b/clang/test/Analysis/malloc.c index 9c08bbcb1c0..5762061ba13 100644 --- a/clang/test/Analysis/malloc.c +++ b/clang/test/Analysis/malloc.c @@ -6,6 +6,7 @@ void clang_analyzer_eval(int); typedef __typeof(sizeof(int)) size_t; void *malloc(size_t); +void *alloca(size_t); void *valloc(size_t); void free(void *); void *realloc(void *ptr, size_t size); @@ -50,6 +51,14 @@ void reallocNotNullPtr(unsigned sizeIn) { } } +void allocaTest() { + int *p = alloca(sizeof(int)); +} // no warn + +void allocaBuiltinTest() { + int *p = __builtin_alloca(sizeof(int)); +} // no warn + int *realloctest1() { int *q = malloc(12); q = realloc(q, 20); |