aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenCXX/member-function-pointer-calls.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2012-03-22 06:22:13 +0000
committerChandler Carruth <chandlerc@gmail.com>2012-03-22 06:22:13 +0000
commit8bd37f1197b3137e6541fe032dfad2d9bf1d76fe (patch)
tree1fe12172878179967558987fc10c0d933a4bd30e /test/CodeGenCXX/member-function-pointer-calls.cpp
parent550f2234fc9218914c325041067052342dfce553 (diff)
Relax the FileCheck assertions in this test a touch. Previously the test
relied on an artifact of how the inliner and subsequent passes in clang's -O3 mode happen to treat basic blocks and the labels for the basic blocks. In my work on the inliner, and changed this fundamental assumption, and the label that was being checked on the entry basic block will no longer appear in opt builds. There was no reason to expect the label to always be present anyways, much to my regret. I've changed the test to just ensure that we return an immediate constant. If there are intervening instructions, that's bad, but not really that relevant to the test. I'd love it if others have a better way of checking that a function body contains only a 'ret' instruction that isn't dependent on whether or not the entry block receives a label... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153243 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/member-function-pointer-calls.cpp')
-rw-r--r--test/CodeGenCXX/member-function-pointer-calls.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/test/CodeGenCXX/member-function-pointer-calls.cpp b/test/CodeGenCXX/member-function-pointer-calls.cpp
index 6f0ef81fe3..f8960aac52 100644
--- a/test/CodeGenCXX/member-function-pointer-calls.cpp
+++ b/test/CodeGenCXX/member-function-pointer-calls.cpp
@@ -9,16 +9,14 @@ int f(A* a, int (A::*fp)()) {
}
// CHECK: define i32 @_Z2g1v()
-// CHECK-NEXT: {{.*}}:
-// CHECK-NEXT: ret i32 1
+// CHECK: ret i32 1
int g1() {
A a;
return f(&a, &A::vf1);
}
// CHECK: define i32 @_Z2g2v()
-// CHECK-NEXT: {{.*}}:
-// CHECK-NEXT: ret i32 2
+// CHECK: ret i32 2
int g2() {
A a;
return f(&a, &A::vf2);