destructors of abstract classes. It's undefined behavior to actually call the destructor (e.g., via delete), but the presence of code that calls this destructor doesn't make the program ill-formed. Fixes <rdar://problem/9819242>. llvm-svn: 136180
17 lines
377 B
C++
17 lines
377 B
C++
// RUN: %clang_cc1 %s -triple x86_64-apple-darwin10 -emit-llvm -o - | FileCheck %s
|
|
|
|
// Check that we dont emit the complete constructor/destructor for this class.
|
|
struct A {
|
|
virtual void f() = 0;
|
|
A();
|
|
~A();
|
|
};
|
|
|
|
// CHECK-NOT: define void @_ZN1AC1Ev
|
|
// CHECK: define void @_ZN1AC2Ev
|
|
// CHECK: define void @_ZN1AD1Ev
|
|
// CHECK: define void @_ZN1AD2Ev
|
|
A::A() { }
|
|
|
|
A::~A() { }
|