brintos

brintos / llvm-project-archived public Read only

0
0
Text · 803 B · 03e1c10 Raw
29 lines · cpp
1// RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -main-file-name cxx-virtual-destructor-calls.cpp %s -o - -fprofile-instrument=clang | FileCheck %s2 3struct Member {4  ~Member();5};6 7struct A {8  virtual ~A();9};10 11struct B : A {12  Member m;13  virtual ~B();14};15 16// Base dtor counters and profile data17// CHECK: @__profc__ZN1BD2Ev = {{(private|internal)}} global [1 x i64] zeroinitializer18// CHECK: @__profd__ZN1BD2Ev =19 20// Complete dtor counters and profile data must absent21// CHECK-NOT: @__profc__ZN1BD1Ev = {{(private|internal)}} global [1 x i64] zeroinitializer22// CHECK-NOT: @__profd__ZN1BD1Ev =23 24// Deleting dtor counters and profile data must absent25// CHECK-NOT: @__profc__ZN1BD0Ev = {{(private|internal)}} global [1 x i64] zeroinitializer26// CHECK-NOT: @__profd__ZN1BD0Ev =27 28B::~B() { }29