| #
fd29d886 |
| 22-Nov-2009 |
Daniel Dunbar <[email protected]> |
FileCheck, PR5239: Try to find the intended match on failures, but looking for a good nearby fuzzy match. Frequently the input is nearly correct, and just showing the user the a nearby sensible match
FileCheck, PR5239: Try to find the intended match on failures, but looking for a good nearby fuzzy match. Frequently the input is nearly correct, and just showing the user the a nearby sensible match is enough to diagnose the problem. - The "fuzzyness" is pretty simple and arbitrary, but worked on my three test cases. If you encounter problems, or places you think FileCheck should have guessed but didn't, please add test cases to PR5239.
For example, previously FileCheck would report this: -- t.cpp:21:55: error: expected string not found in input // CHECK: define void @_Z2f25f2_s1([[i64_i64_ty]] %a0) ^ <stdin>:19:30: note: scanning from here define void @_Z2f15f1_s1(%1) nounwind { ^ <stdin>:19:30: note: with variable "i64_i64_ty" equal to "%0" --
and now it also reports this: -- <stdin>:27:1: note: possible intended match here define void @_Z2f25f2_s1(%0) nounwind { ^ --
which makes it clear that the CHECK just has an extra ' %a0' in it, without having to check the input.
llvm-svn: 89631
show more ...
|
| #
e0ef65ab |
| 22-Nov-2009 |
Daniel Dunbar <[email protected]> |
FileCheck: When a string using variable references fails to match, print additional information about the current definitions of the variables used in the string.
llvm-svn: 89628
|
| #
57cb733b |
| 22-Nov-2009 |
Daniel Dunbar <[email protected]> |
Allow '_' in FileCheck variable names, it is nice to have at least one separate character. - Chris, OK?
llvm-svn: 89626
|
|
Revision tags: llvmorg-2.6.0 |
|
| #
8879e06d |
| 27-Sep-2009 |
Chris Lattner <[email protected]> |
implement and document support for filecheck variables. This allows matching and remembering a string and then matching and verifying that the string occurs later in the file.
Change X86/xor.ll to
implement and document support for filecheck variables. This allows matching and remembering a string and then matching and verifying that the string occurs later in the file.
Change X86/xor.ll to use this in some cases where the test was checking for an arbitrary register allocation decision.
llvm-svn: 82891
show more ...
|
| #
37d8015d |
| 26-Sep-2009 |
Chris Lattner <[email protected]> |
remove support for "NoSub" from regex. It seems like a minor optimization and makes the API more annoying. Add a Regex::getNumMatches() method.
llvm-svn: 82877
|
| #
0a4c44bd |
| 25-Sep-2009 |
Chris Lattner <[email protected]> |
reject attempts to use ()'s in patterns, these are reserved for filecheck.
llvm-svn: 82780
|
| #
b16ab0c4 |
| 25-Sep-2009 |
Chris Lattner <[email protected]> |
reimplement the regex matching strategy by building a single regex and matching it instead of trying to match chunks at a time. Matching chunks at a time broke with check lines like CHECK: foo {{.
reimplement the regex matching strategy by building a single regex and matching it instead of trying to match chunks at a time. Matching chunks at a time broke with check lines like CHECK: foo {{.*}}bar because the .* would eat the entire rest of the line and bar would never match.
Now we just escape the fixed strings for the user, so that something like: CHECK: a() {{.*}}??? is matched as: CHECK: {{a\(\) .*\?\?\?}} transparently "under the covers".
llvm-svn: 82779
show more ...
|
| #
221460e0 |
| 25-Sep-2009 |
Chris Lattner <[email protected]> |
special case Patterns that are a single fixed string. This is a microscopic perf win and is needed for future changes.
llvm-svn: 82777
|
| #
712e8e03 |
| 25-Sep-2009 |
Chris Lattner <[email protected]> |
filecheck should not match a \n with a .
llvm-svn: 82758
|
| #
b121a24f |
| 25-Sep-2009 |
Chris Lattner <[email protected]> |
turn a std::pair into a real class.
llvm-svn: 82754
|
| #
f08d2db9 |
| 24-Sep-2009 |
Chris Lattner <[email protected]> |
add and document regex support for FileCheck. You can now do stuff like:
; CHECK: movl {{%e[a-z][xi]}}, %eax
or whatever.
llvm-svn: 82717
|
| #
a2f8fc5a |
| 24-Sep-2009 |
Chris Lattner <[email protected]> |
Use CanonicalizeInputFile to canonicalize the entire buffer containing the CHECK strings, instead of canonicalizing the patterns directly. This allows Pattern to just contain a StringRef instead of
Use CanonicalizeInputFile to canonicalize the entire buffer containing the CHECK strings, instead of canonicalizing the patterns directly. This allows Pattern to just contain a StringRef instead of std::string.
llvm-svn: 82713
show more ...
|
| #
74d50731 |
| 24-Sep-2009 |
Chris Lattner <[email protected]> |
change 'not' matching to use Pattern, move pattern parsing logic into the Pattern class.
llvm-svn: 82712
|
| #
3b40b445 |
| 24-Sep-2009 |
Chris Lattner <[email protected]> |
refactor out the match string into its own Pattern class.
llvm-svn: 82711
|
| #
b9f2bf46 |
| 21-Sep-2009 |
Chris Lattner <[email protected]> |
fix a FileCheck bug where:
; CHECK: foo ; CHECK-NOT: foo ; CHECK: bar
would always fail.
llvm-svn: 82424
|
| #
37183584 |
| 20-Sep-2009 |
Chris Lattner <[email protected]> |
rewrite CountNumNewlinesBetween to be in terms of StringRef.
llvm-svn: 82410
|
| #
236d2d5e |
| 20-Sep-2009 |
Chris Lattner <[email protected]> |
implement and document support for CHECK-NOT
llvm-svn: 82408
|
| #
caa5fc0c |
| 20-Sep-2009 |
Chris Lattner <[email protected]> |
rewrite FileCheck in terms of StringRef instead of manual pointer pairs.
llvm-svn: 82407
|
| #
107c21ea |
| 16-Aug-2009 |
Chris Lattner <[email protected]> |
when emitting errors about CHECK-NEXT directives, show the line that the CHECK-NEXT is on.
llvm-svn: 79164
|
| #
da108b4e |
| 15-Aug-2009 |
Chris Lattner <[email protected]> |
implement support for CHECK-NEXT: in filecheck.
llvm-svn: 79123
|
| #
10f10ced |
| 15-Aug-2009 |
Chris Lattner <[email protected]> |
simplify some code.
llvm-svn: 79121
|
| #
6a7b917e |
| 15-Aug-2009 |
Chris Lattner <[email protected]> |
rewrite FindStringInBuffer to use an explicit loop instead of trying to wrap strstr which is just too inconvenient. Make it use a StringRef to avoid ".c_str()" calls.
llvm-svn: 79120
|
| #
26cccfe1 |
| 15-Aug-2009 |
Chris Lattner <[email protected]> |
Instead of using an std::pair, use a custom struct.
llvm-svn: 79119
|
| #
6eca7ab9 |
| 02-Aug-2009 |
Daniel Dunbar <[email protected]> |
Fix an ENABLE_EXPENSIVE_CHECKS error.
llvm-svn: 77845
|
| #
8bda49a8 |
| 11-Jul-2009 |
Daniel Dunbar <[email protected]> |
Tweak comment.
llvm-svn: 75391
|