22 lines · cpp
1// RUN: %clang_cc1 -std=c++11 %s -ast-dump | FileCheck %s2 3struct A { ~A() = delete; };4// CHECK-LABEL: CXXRecordDecl {{.*}} struct A5// CHECK: Destructor trivial user_declared6 7struct B : A {};8// CHECK-LABEL: CXXRecordDecl {{.*}} struct B9// CHECK: Destructor trivial needs_overload_resolution10 11struct C : B {};12// CHECK-LABEL: CXXRecordDecl {{.*}} struct C13// CHECK: Destructor trivial needs_overload_resolution14 15struct D { ~D(); };16struct E : D {};17union U {18 E e;19};20// CHECK-LABEL: CXXRecordDecl {{.*}} union U21// CHECK: Destructor non_trivial needs_implicit defaulted_is_deleted22