xref: /llvm-project/clang/test/CodeGen/attr-counted-by-pr88931.cpp (revision 69a798a996e0cd9d521db38167cadf841d629d38)
1 // NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 4
2 // RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -O2 -Wall -emit-llvm -o - %s | FileCheck %s
3 
4 struct foo {
5   struct bar {
6     int array[];
7     bar();
8   };
9 };
10 
11 void init(void * __attribute__((pass_dynamic_object_size(0))));
12 
13 // CHECK-LABEL: define dso_local void @_ZN3foo3barC1Ev(
14 // CHECK-SAME: ptr noundef nonnull align 4 dereferenceable(1) [[THIS:%.*]]) unnamed_addr #[[ATTR0:[0-9]+]] align 2 {
15 // CHECK-NEXT:  entry:
16 // CHECK-NEXT:    tail call void @_Z4initPvU25pass_dynamic_object_size0(ptr noundef nonnull align 4 dereferenceable(1) [[THIS]], i64 noundef -1) #[[ATTR2:[0-9]+]]
17 // CHECK-NEXT:    ret void
18 //
19 foo::bar::bar() {
20   init(array);
21 }
22