Clang Project

clang_source_code/test/Profile/cxx-missing-bodies.cpp
1// RUN: %clang_cc1 -emit-llvm %s -std=c++11 -S -emit-llvm -o - -triple=i386-pc-win32 -fno-rtti -fprofile-instrument=clang | FileCheck %s --check-prefix=GEN
2//
3// Don't crash when presented profile data for functions without bodies:
4// RUN: llvm-profdata merge %S/Inputs/cxx-missing-bodies.proftext -o %t.profdata
5// RUN: %clang_cc1 -emit-llvm %s -std=c++11 -S -emit-llvm -o /dev/null -triple=i386-pc-win32 -fno-rtti -fprofile-instrument-use-path=%t.profdata -w
6
7// GEN-NOT: __profn{{.*}}??_GA@@UAEPAXI@Z
8// GEN-NOT: __profn{{.*}}??_DA@@QAEXXZ
9
10struct A {
11  virtual ~A();
12};
13struct B : A {
14  virtual ~B();
15};
16
17B::~B() {}
18
19void foo() {
20  B c;
21}
22