// 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