Lines Matching defs:dtor
1 // RUN: %clang_cc1 -std=c++17 %s -triple x86_64-linux-gnu -emit-llvm -o - | FileCheck %s --implicit-check-not='call{{.*}}dtor'
46 struct dtor {
47 ~dtor();
50 dtor ctor();
58 // CHECK: call {{.*}}dtor
68 // CHECK: call {{.*}}dtor
79 // CHECK: call {{.*}}dtor
86 using T = dtor[1];
91 // CHECK: call {{.*}}dtor
96 using T = dtor[1];
98 auto &&x = ((dtor*)T{ctor()})[0];
99 // CHECK: call {{.*}}dtor
105 struct with_member { dtor d; ~with_member(); };
106 struct with_ref_member { dtor &&d; ~with_ref_member(); };
123 // CHECK: call {{.*}}dtor
162 auto &&x = static_cast<dtor&&>(ctor());
165 // CHECK: call {{.*}}dtor
171 auto &&x = const_cast<dtor&&>(ctor());
174 // CHECK: call {{.*}}dtor
180 auto &&x = reinterpret_cast<dtor&&>(static_cast<dtor&&>(ctor()));
183 // CHECK: call {{.*}}dtor
189 auto &&x = dynamic_cast<dtor&&>(ctor());
192 // CHECK: call {{.*}}dtor
200 auto &&x = (dtor&&)ctor();
203 // CHECK: call {{.*}}dtor
209 using R = dtor&&;
213 // CHECK: call {{.*}}dtor
222 auto &&x = b ? (dtor&&)ctor() : (dtor&&)ctor();
225 // CHECK: call {{.*}}dtor
226 // CHECK: call {{.*}}dtor
234 auto &&x = (true, (dtor&&)ctor());
237 // CHECK: call {{.*}}dtor
247 auto x = [&a = (const dtor&)ctor()] {};
250 // CHECK: call {{.*}}dtor
256 auto x = [&a = (const dtor&)ctor()] {};
259 // CHECK: call {{.*}}dtor
268 // CHECK: call {{.*}}dtor