summaryrefslogtreecommitdiff
path: root/test/Profile/cxx-implicit.cpp
blob: 79840ad938566d7593c0d4391a0ba0bc57024dc0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Ensure that implicit methods aren't instrumented.

// RUN: %clang_cc1 -x c++ %s -triple %itanium_abi_triple -main-file-name cxx-implicit.cpp -o - -emit-llvm -fprofile-instr-generate | FileCheck %s

// An implicit constructor is generated for Base. We should not emit counters
// for it.
// CHECK-NOT: @__llvm_profile_counters__ZN4BaseC2Ev =

struct Base {
  virtual void foo();
};

struct Derived : public Base {
  Derived();
};

Derived::Derived() {}