From 8bd37f1197b3137e6541fe032dfad2d9bf1d76fe Mon Sep 17 00:00:00 2001 From: Chandler Carruth Date: Thu, 22 Mar 2012 06:22:13 +0000 Subject: [PATCH] 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 --- test/CodeGenCXX/member-function-pointer-calls.cpp | 6 ++---- 1 file 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); -- 2.40.0