diff options
author | Reid Kleckner <reid@kleckner.net> | 2015-02-25 19:17:48 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2015-02-25 19:17:48 +0000 |
commit | 1cbd9aa96d36ca320b3faf88fad3319fddd17526 (patch) | |
tree | 7c5123d0d54ba729dca91b80726c190759b9d3d8 /clang/test/Modules/Inputs/merge-vtable-codegen/b.h | |
parent | 8b6d034cab0c30bcd289126cae522933c5cb881d (diff) | |
download | bcm5719-llvm-1cbd9aa96d36ca320b3faf88fad3319fddd17526.tar.gz bcm5719-llvm-1cbd9aa96d36ca320b3faf88fad3319fddd17526.zip |
Reland (2x) r230314, "Fix codegen for virtual methods that are (re-) exported from multiple modules."
This reverts commits r230477 and r230478.
llvm-svn: 230526
Diffstat (limited to 'clang/test/Modules/Inputs/merge-vtable-codegen/b.h')
-rw-r--r-- | clang/test/Modules/Inputs/merge-vtable-codegen/b.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/test/Modules/Inputs/merge-vtable-codegen/b.h b/clang/test/Modules/Inputs/merge-vtable-codegen/b.h new file mode 100644 index 00000000000..770e46077f9 --- /dev/null +++ b/clang/test/Modules/Inputs/merge-vtable-codegen/b.h @@ -0,0 +1,17 @@ +#ifndef B_H +#define B_H + +#include "a.h" + +class B : virtual public A { + virtual void x() {} +}; + +void b(A* p) { + p->x(); + // Instantiating a class that virtually inherits 'A' + // triggers calculation of the vtable offsets in 'A'. + B b; +} + +#endif |