diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2012-03-22 06:22:13 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2012-03-22 06:22:13 +0000 |
commit | 8bd37f1197b3137e6541fe032dfad2d9bf1d76fe (patch) | |
tree | 1fe12172878179967558987fc10c0d933a4bd30e /test/CodeGenCXX/member-function-pointer-calls.cpp | |
parent | 550f2234fc9218914c325041067052342dfce553 (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.cpp | 6 |
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); |