// Tests for instrumentation of C++ constructors and destructors. // // RUN: %clang_cc1 -triple x86_64-apple-macosx10.11.0 -x c++ %s -o - -emit-llvm -fprofile-instrument=clang | FileCheck %s struct Foo { Foo() {} Foo(int) {} ~Foo() {} }; struct Bar : public Foo { Bar() {} Bar(int x) : Foo(x) {} ~Bar(); }; Foo foo; Foo foo2(1); Bar bar; // Profile data for complete constructors and destructors must absent. // CHECK-NOT: @__profn__ZN3FooC1Ev // CHECK-NOT: @__profn__ZN3FooC1Ei // CHECK-NOT: @__profn__ZN3FooD1Ev // CHECK-NOT: @__profn__ZN3BarC1Ev // CHECK-NOT: @__profn__ZN3BarD1Ev // CHECK-NOT: @__profc__ZN3FooD1Ev // CHECK-NOT: @__profd__ZN3FooD1Ev int main() { }