cxx-virtual-destructor-calls.cpp 829 B

123456789101112131415161718192021222324252627282930
  1. // RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -main-file-name cxx-virtual-destructor-calls.cpp %s -o - -fprofile-instr-generate | FileCheck %s
  2. struct Member {
  3. ~Member();
  4. };
  5. struct A {
  6. virtual ~A();
  7. };
  8. struct B : A {
  9. Member m;
  10. virtual ~B();
  11. };
  12. // Complete dtor
  13. // CHECK: @__llvm_profile_name__ZN1BD1Ev = private constant [9 x i8] c"_ZN1BD1Ev"
  14. // Deleting dtor
  15. // CHECK: @__llvm_profile_name__ZN1BD0Ev = private constant [9 x i8] c"_ZN1BD0Ev"
  16. // Complete dtor counters and profile data
  17. // CHECK: @__llvm_profile_counters__ZN1BD1Ev = private global [1 x i64] zeroinitializer
  18. // CHECK: @__llvm_profile_data__ZN1BD1Ev =
  19. // Deleting dtor counters and profile data
  20. // CHECK: @__llvm_profile_counters__ZN1BD0Ev = private global [1 x i64] zeroinitializer
  21. // CHECK: @__llvm_profile_data__ZN1BD0Ev =
  22. B::~B() { }