summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/alloc-size.cpp
diff options
context:
space:
mode:
authorGeorge Burgess IV <george.burgess.iv@gmail.com>2018-03-06 07:42:36 +0000
committerGeorge Burgess IV <george.burgess.iv@gmail.com>2018-03-06 07:42:36 +0000
commit9753b7903deffe05a6d4ba28c1d3fff88ecfcab7 (patch)
tree75e15feeab3254b5f07c6b8f503696c9355de6ac /clang/test/CodeGenCXX/alloc-size.cpp
parentfa5a04fb86f424611f707665dd8d66c55eec2aaa (diff)
downloadbcm5719-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.cpp12
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);
+}
OpenPOWER on IntegriCloud