From dbd46ba38c7435b0d5aaa243c391036e2c9e9bc1 Mon Sep 17 00:00:00 2001 From: Yaron Keren <yaron.keren@gmail.com> Date: Sun, 30 Aug 2015 15:24:46 +0000 Subject: [PATCH] Make test resistant to false matches of numbered (unnamed) labels inside other numbers. In release builds labels are numbers. Matching just the number may result in false matches where the label is contained in other numbers, such as 14 inside [114 x i8]. A stricter match requiring start of line or > character before the label avoids these false matches. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246385 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/sanitize-trap.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/test/CodeGen/sanitize-trap.c b/test/CodeGen/sanitize-trap.c index 76ac1f0ad71..efb35a99c48 100644 --- a/test/CodeGen/sanitize-trap.c +++ b/test/CodeGen/sanitize-trap.c @@ -7,19 +7,24 @@ int f(int x, int y) { // CHECK: %[[B4:.*]] = or i1 %[[B2]], %[[B3]] // CHECK: br i1 %[[B1]], label %[[L1:[0-9a-z_.]*]], label %[[L2:[0-9a-z_.]*]] - // CHECK: [[L2]] + // {{^|>}} used to match both Debug form of the captured label + // cont: + // and Release form + // ; <label>14 + // But avoids false matches inside other numbers such as [114 x i8]. + // CHECK: {{^|>}}[[L2]] // CHECK-NEXT: call void @llvm.trap() // CHECK-NEXT: unreachable - // CHECK: [[L1]] + // CHECK: {{^|>}}[[L1]] // CHECK-NEXT: br i1 %[[B4]], label %[[L3:[0-9a-z_.]*]], label %[[L4:[0-9a-z_.]*]] - // CHECK: [[L4]] + // CHECK: {{^|>}}[[L4]] // CHECK-NEXT: zext // CHECK-NEXT: zext // CHECK-NEXT: __ubsan_handle_divrem_overflow - // CHECK: [[L3]] + // CHECK: {{^|>}}[[L3]] // CHECK-NEXT: sdiv i32 %[[N]], %[[D]] return x / y; } -- GitLab