| // RUN: %clang_cc1 -std=c++11 %s -ast-dump | FileCheck %s |
| |
| struct A { ~A() = delete; }; |
| // CHECK-LABEL: CXXRecordDecl {{.*}} struct A |
| // CHECK: Destructor trivial user_declared |
| |
| struct B : A {}; |
| // CHECK-LABEL: CXXRecordDecl {{.*}} struct B |
| // CHECK: Destructor trivial needs_overload_resolution |
| |
| struct C : B {}; |
| // CHECK-LABEL: CXXRecordDecl {{.*}} struct C |
| // CHECK: Destructor trivial needs_overload_resolution |
| |
| struct D { ~D(); }; |
| struct E : D {}; |
| union U { |
| E e; |
| }; |
| // CHECK-LABEL: CXXRecordDecl {{.*}} union U |
| // CHECK: Destructor non_trivial needs_implicit defaulted_is_deleted |