- User Since
- Apr 18 2016, 7:25 AM (195 w, 4 d)
Nov 15 2018
Nov 14 2018
Please, could someone review these changes?
Or may be add other reviewers if I choose wrong people?
Oct 23 2018
Sep 26 2016
Both first and second case.
- Are there possible usages of this feature in LLVM tests already?
I don't know LLVM tests well to answer this question.
- How is this going to interact with [[@LINE]]?
I used FileCheck Match function in loop, so it will be real LINE value. I don't change matching.
Sep 25 2016
Sep 19 2016
There is problem with STL, their realization of regular expressions doesn't match start and end of line in basic mode and there is no multiline mode. There is the issue 2343 in http://cplusplus.github.io/LWG/lwg-toc.html.
There is opportunity to split text by lines and match each line separately, but I think this is a hack, and I think it'll slow FileCheck.
Sep 16 2016
Ok, I'll try to use STL regex.
Sep 15 2016
Patch without modifiers for pattern parameters and using pattern and variables inside definition of other patterns.
Sep 14 2016
As I understood most of users prefer to change library to have support of \b assert. But, I think, this decision is quite important and can be made only by he contributor of FileCheck. I don't know how this suggestion can be done. Or I can try to change library and create a patch with this changes?
Sep 13 2016
What are our options with the regex library? Is there a newer version of the one we are currently using that we could upgrade to (and that supports \b)?
Sep 10 2016
Are quotes necessary for parameters? Everything is string in FileCheck.
Using patterns and variables was in old grammer. I thought that we only change syntax, so I added this feature too.
Ok, I'll remove this from this patch. But then I want to add using patterns and variables in definitions later. On my opinion these features are quite useful.
Sep 8 2016
Change syntax to new one suggested by Vedant Kumar.
Sep 1 2016
Jul 21 2016
I made new mode and made experiment turned it on for all LLVM tests.
Expected Passes : 15810 Expected Failures : 125 Unsupported Tests : 195 Unexpected Passes : 4 Unexpected Failures: 1128
Replace set of new CHECK directives to new -check-word option
Jul 20 2016
There is difference between patterns and variables so we should understand where variable is, where pattern is.
As for pattern variables, I really think this review would benefit if we could split out pattern variables into a separate review. I didn't yet understand how pattern variables are supposed to work: Is \:(variable)\=(value) supposed to be an argument to a pattern use that immediately precedes it? Or is it modifying global state similar to regular variable definition in FileCheck? If the latter is the case, why does it come after the pattern in the example? In the former case, wouldn't it be better to have syntax that looks more like passing in an argument?
There is a suggestion to add new option, which will change standart behaviour to word-matchinf instead of addding new set of CHECKs directives. What about this idea?
There is an idea to do as you advised.
Suggested new syntax:
[['#template_name]] - use of template 'template_name'. It can occur in CHECK-PATTERN line, when description of one template includes other templates described before. (Without quote, I don't know how escape # here)
[[:Variable_name]] - template variable with name 'variable_name'
[[:variable_name=value]] - current value of template variable(it's needed when you use template with variables).
Is this syntax better? Should I do such way?
Jul 19 2016
Jul 18 2016
Jul 17 2016
Jul 15 2016
I'll glad if there will be some suggestions how make syntax better. The main idea of this syntax was to use characters with \ for avoiding escaping these characters in standart patterns.
"I think either users should use "\b" to check that the edge of the match is at the beginning/end of a word" - Problem is that current regexp library doesn't support \b assertion. And question about changing library appears again.
I think, if change the meaning of CHECK there will be a lot of work of changing LLVM tests and private tests of FileCheck users.