aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenCXX/devirtualize-virtual-function-calls.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-10-12 19:51:33 +0000
committerAnders Carlsson <andersca@mac.com>2009-10-12 19:51:33 +0000
commitcf5deecd7885b544f1197846897513858863e3af (patch)
tree96bd47f7eea679fdd0e36b98bc0d1d8c5e544d07 /test/CodeGenCXX/devirtualize-virtual-function-calls.cpp
parent76366487694e92509f938164f384bbdfad002f2b (diff)
More devirtualization improvements.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83883 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/devirtualize-virtual-function-calls.cpp')
-rw-r--r--test/CodeGenCXX/devirtualize-virtual-function-calls.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/CodeGenCXX/devirtualize-virtual-function-calls.cpp b/test/CodeGenCXX/devirtualize-virtual-function-calls.cpp
index 3dd2551bbc..76f9520bfd 100644
--- a/test/CodeGenCXX/devirtualize-virtual-function-calls.cpp
+++ b/test/CodeGenCXX/devirtualize-virtual-function-calls.cpp
@@ -2,8 +2,12 @@
struct A {
virtual void f();
+
+ A h();
};
+A g();
+
void f(A a, A *ap, A& ar) {
// This should not be a virtual function call.
@@ -18,4 +22,10 @@ void f(A a, A *ap, A& ar) {
// CHECK: call void @_ZN1A1fEv
A().f();
+
+ // CHECK: call void @_ZN1A1fEv
+ g().f();
+
+ // CHECK: call void @_ZN1A1fEv
+ a.h().f();
}