The test didn't actually use virtual inheritance.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@218966
91177308-0d34-0410-b5e6-
96231b3b80d8
R r;
void use(R *obj) { obj->foo(42l); }
+
+struct S {
+ // CHECK-LABEL: VFTable for 'S' (1 entry).
+ // CHECK-NEXT: 0 | void S::f() [deleted]
+ virtual void f() = delete;
+ S();
+ // EMITS-VFTABLE-DAG: @"\01??_7S@@6B@" = linkonce_odr unnamed_addr constant [1 x i8*] [i8* bitcast (void ()* @_purecall to i8*)]
+};
+
+S::S() {}
}
namespace Test13 {
-struct A {
- // CHECK-LABEL: VFTable for 'Test13::A' (1 entry).
- // CHECK-NEXT: 0 | void Test13::A::f() [deleted]
- virtual void f() = delete;
- A();
- // MANGLING-DAG: @"\01??_7A@Test13@@6B@" = linkonce_odr unnamed_addr constant [1 x i8*] [i8* bitcast (void ()* @_purecall to i8*)]
-};
-
-A::A() {}
-}
-
-namespace Test14 {
struct A {
virtual void f();
};
struct __declspec(dllexport) B : virtual A {
virtual void f() = 0;
- // MANGLING-DAG: @"\01??_7B@Test14@@6B@" = weak_odr dllexport unnamed_addr constant [1 x i8*] [i8* bitcast (void ()* @_purecall to i8*)]
+ // MANGLING-DAG: @"\01??_7B@Test13@@6B@" = weak_odr dllexport unnamed_addr constant [1 x i8*] [i8* bitcast (void ()* @_purecall to i8*)]
};
}