but this is necessary to continue work on virtual vtables. We don't
want to penalize virtual table building testcases, just because
complex virtual conversions don't yet work.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88676
91177308-0d34-0410-b5e6-
96231b3b80d8
const ASTRecordLayout &Layout = Context.getASTRecordLayout(Element.Class);
const CXXBaseSpecifier *BS = Element.Base;
+ // FIXME: enable test3 from virt.cc to not abort.
+ if (BS->isVirtual())
+ return 0;
assert(!BS->isVirtual() && "Should not see virtual bases here!");
const CXXRecordDecl *Base =
// RUN: clang-cc -triple x86_64-apple-darwin -std=c++0x -emit-llvm %s -o %t-64.ll
// RUN: FileCheck -check-prefix LPLL64 --input-file=%t-64.ll %s
-// XFAIL: *
-
struct B {
virtual void bar1();
virtual void bar2();
// CHECK-LPLL64: ret %class.test8_D* %10
// CHECK-LPLL64:}
-// CHECK-LPLL64:define weak %class.test8_D* @_ZTch0_v16_n32_N8test16_D4foo1Ev36(%class.test8_D*) {
+// CHECK-LPLL64:define weak %class.test8_D* @_ZTch0_v16_n32_N8test16_D4foo1Ev(%class.test8_D*) {
// CHECK-LPLL64:entry:
// CHECK-LPLL64: %retval = alloca %class.test8_D*
// CHECK-LPLL64: %.addr = alloca %class.test8_D*
class test21_V {
- virtual void foo();
+ virtual void foo() { }
};
class test21_V1 {
- virtual void foo();
+ virtual void foo() { }
};
class test21_B : virtual test21_V {
};