summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/devirtualize-virtual-function-calls.cpp
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2012-08-19 10:33:04 +0000
committerdim <dim@FreeBSD.org>2012-08-19 10:33:04 +0000
commitcc73504950eb7b5dff2dded9bedd67bc36d64641 (patch)
tree5b9c2fa9d79942fbdce3d618e37e27c18263af9a /test/CodeGenCXX/devirtualize-virtual-function-calls.cpp
parent554bcb69c2d785a011a30e7db87a36a87fe7db10 (diff)
downloadFreeBSD-src-cc73504950eb7b5dff2dded9bedd67bc36d64641.zip
FreeBSD-src-cc73504950eb7b5dff2dded9bedd67bc36d64641.tar.gz
Vendor import of clang trunk r162107:
http://llvm.org/svn/llvm-project/cfe/trunk@162107
Diffstat (limited to 'test/CodeGenCXX/devirtualize-virtual-function-calls.cpp')
-rw-r--r--test/CodeGenCXX/devirtualize-virtual-function-calls.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/CodeGenCXX/devirtualize-virtual-function-calls.cpp b/test/CodeGenCXX/devirtualize-virtual-function-calls.cpp
index c5a4094..7ef4864 100644
--- a/test/CodeGenCXX/devirtualize-virtual-function-calls.cpp
+++ b/test/CodeGenCXX/devirtualize-virtual-function-calls.cpp
@@ -83,3 +83,20 @@ namespace test3 {
d.B::~B();
}
}
+
+namespace test4 {
+ struct Animal {
+ virtual void eat();
+ };
+ struct Fish : Animal {
+ virtual void eat();
+ };
+ struct Wrapper {
+ Fish fish;
+ };
+ extern Wrapper *p;
+ void test() {
+ // CHECK: call void @_ZN5test44Fish3eatEv
+ p->fish.eat();
+ }
+}
OpenPOWER on IntegriCloud