Fix a bug in FileCheck that wouldn't let define variables as follows:

; CHECK: [[VAR:[a-z]]]

The problem was that to find the end of the regex var definition, it was
simplistically looking for the next ]] and finding the incorrect one. A
better approach is to count nesting of brackets (taking escaping into
account). This way the brackets that are part of the regex can be discovered
and skipped properly, and the ]] ending is detected in the right place.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169109 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eli Bendersky
2012-12-02 16:02:41 +00:00
parent e469364244
commit 4db6511779
3 changed files with 56 additions and 5 deletions

View File

@@ -0,0 +1,7 @@
// RUN: FileCheck -input-file %s %s
op r1
op r2, [x r1]
; CHECK: op [[REG:r[0-9]]]
; CHECK: op [[REG2:r[0-9]]], [x [[REG]]]

View File

@@ -2,7 +2,7 @@
op1 r1
op2 r1, r2
; CHECK: op1 [[REG:r[0-9]+]]
; CHECK: op1 [[REG:r[0-9]]]
; CHECK-NEXT: op2 [[REG]]
op3 r16, r18, r21
@@ -10,3 +10,4 @@ op4 r30, r18, r21
; CHECK: op3 {{r[0-9]+}}, [[REGa:r[0-9]+]], [[REGb:r[0-9]+]]
; CHECK-NEXT: op4 {{r[0-9]+}}, [[REGa]], [[REGb]]