diff options
author | George Burgess IV <george.burgess.iv@gmail.com> | 2018-03-06 07:42:36 +0000 |
---|---|---|
committer | George Burgess IV <george.burgess.iv@gmail.com> | 2018-03-06 07:42:36 +0000 |
commit | 9753b7903deffe05a6d4ba28c1d3fff88ecfcab7 (patch) | |
tree | 75e15feeab3254b5f07c6b8f503696c9355de6ac /clang/test/CodeGenCXX/alloc-size.cpp | |
parent | fa5a04fb86f424611f707665dd8d66c55eec2aaa (diff) | |
download | bcm5719-llvm-9753b7903deffe05a6d4ba28c1d3fff88ecfcab7.tar.gz bcm5719-llvm-9753b7903deffe05a6d4ba28c1d3fff88ecfcab7.zip |
[ExprConstant] Look through ExprWithCleanups for `allocsize`
llvm-svn: 326766
Diffstat (limited to 'clang/test/CodeGenCXX/alloc-size.cpp')
-rw-r--r-- | clang/test/CodeGenCXX/alloc-size.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/alloc-size.cpp b/clang/test/CodeGenCXX/alloc-size.cpp index 137d4543ddc..275ffe6dca9 100644 --- a/clang/test/CodeGenCXX/alloc-size.cpp +++ b/clang/test/CodeGenCXX/alloc-size.cpp @@ -88,3 +88,15 @@ int callMemberCalloc() { // CHECK: ret i32 32 return __builtin_object_size(C().my_calloc(16, 2), 0); } + +struct D { + ~D(); + void *my_malloc(int N) __attribute__((alloc_size(2))); +}; + +// CHECK-LABEL: define i32 @_Z20callExprWithCleanupsv +int callExprWithCleanups() { + int *const p = (int *)D().my_malloc(3); + // CHECK: ret i32 3 + return __builtin_object_size(p, 0); +} |