blob: c0cfd74a3e528665675703c33203043433f51977 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
// RUN: %clang_cc1 %s -fsyntax-only -verify -Wweak-vtables
struct A { // expected-warning {{'A' has no out-of-line virtual method definitions; its vtable will be emitted in every translation unit}}
virtual void f() { }
};
template<typename T> struct B {
virtual void f() { }
};
namespace {
struct C {
virtual void f() { }
};
}
void f() {
struct A {
virtual void f() { }
};
A *a;
a->f();
}
// Use the vtables
void uses(A &a, B<int> &b, C &c) {
a.f();
b.f();
c.f();
}
|