llvm-project/llvm/test/FileCheck
Thomas Preud'homme fe7ac170a7 [FileCheck] Don't diagnose undef vars at parse time
Summary:
Diagnosing use of undefined variables takes place in
parseNumericVariableUse() and printSubstitutions() for numeric variables
but only takes place in printSubstitutions() for string variables. The
reason for the split location of diagnostics is that parsing is not
aware of the clearing of variables due to --enable-var-scope and thus
use of variables cleared in this way can only be catched by
printSubstitutions().

Beyond the code level inconsistency, there is also a user facing
inconsistency since diagnostics look different between the two
functions. While the diagnostic in printSubstitutions is more verbose,
doing the diagnostic there allows to diagnose all undefined variables
rather than just the first one and error out.

This patch create dummy variable definition when encountering a use of
undefined variable so that parsing can proceed and be diagnosed by
printSubstitutions() later. Tests that were testing whether parsing
fails in such case are thus modified accordingly.

Reviewers: jhenderson, chandlerc, jdenny, probinson, grimar, arichardson, rnk

Subscribers: JonChesterfield, rogfer01, hfinkel, kristina, rnk, tra, arichardson, grimar, dblaikie, probinson, llvm-commits, hiraditya

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D64228

llvm-svn: 365219
2019-07-05 16:25:33 +00:00
..
check-a-b-has-b.txt
check-b-a-has-b.txt
check-count.txt [FileCheck] introduce CHECK-COUNT-<num> repetition directive 2018-11-13 00:46:13 +00:00
check-dag-multi-prefix-2.txt
check-dag-multi-prefix.txt
check-dag-not-dag.txt
check-dag-overlap-torture.txt
check-dag-overlap.txt
check-dag-substring-prefix.txt
check-dag-xfails.txt
check-dag.txt
check-empty-tag.txt
check-empty.txt Fixup test after r352704 since it changes how paths may be emitted. 2019-01-31 07:58:34 +00:00
check-empty2.txt
check-label-dag-capture.txt
check-label-dag.txt
check-label.txt
check-multi-prefix-label.txt
check-multiple-prefixes-mixed.txt
check-multiple-prefixes-nomatch-2.txt
check-multiple-prefixes-nomatch.txt
check-multiple-prefixes-substr.txt
check-not-diaginfo.txt
check-prefixes.txt
check-substring-multi-prefix-2.txt
check-substring-multi-prefix.txt
dos-style-eol.txt
dump-input-annotations.txt [FileCheck] Suppress old -v/-vv diags if dumping input 2019-01-22 21:41:42 +00:00
dump-input-enable.txt [CommandLine] Change help output to prefix long options with `--` instead of `-`. NFC . Part 3 of 5 2019-05-03 17:47:29 +00:00
empty-regex-match-at-start.txt [FileCheck]Remove assertions that prevent matching an empty string at file start before CHECK-NEXT/SAME 2019-03-12 15:37:34 +00:00
envvar-opts.txt [FileCheck] Try to fix windows bots broken by r346272 2018-11-06 22:42:10 +00:00
first-character-match.txt
implicit-check-not.txt
line-count-2.txt
line-count.txt [FileCheck] Stop qualifying expressions as numeric 2019-06-19 23:47:24 +00:00
lit.local.cfg [FileCheck] Don't propagate `FILECHECK_DUMP_INPUT_ON_FAILURE` and 2019-01-10 17:24:06 +00:00
match-full-lines.txt
multiple-missing-prefixes.txt
next-no-match.txt
no-check-file.txt [FileCheck] Annotate input dump (1/7) 2018-12-18 00:01:39 +00:00
no-multi-suffixes.txt
numeric-defines-diagnostics.txt [FileCheck] Factor some parsing checks out 2019-07-05 12:01:06 +00:00
numeric-defines.txt [FileCheck] Introduce substitution subclasses 2019-05-23 00:10:29 +00:00
numeric-expression.txt [FileCheck] Don't diagnose undef vars at parse time 2019-07-05 16:25:33 +00:00
opt-color.txt [SourceMgr][FileCheck] Obey -color by extending WithColor 2018-10-24 21:46:42 +00:00
regex-brackets.txt
regex-no-match.txt
same.txt
separate-multi-prefix.txt
simple-var-capture.txt
string-defines-diagnostics.txt FileCheck: Return parse error w/ Error & Expected 2019-06-19 23:47:10 +00:00
string-defines.txt [FileCheck] Introduce substitution subclasses 2019-05-23 00:10:29 +00:00
two-checks-for-same-match.txt
validate-check-prefix.txt
var-ref-same-line.txt
var-scope.txt FileCheck [6/12]: Introduce numeric variable definition 2019-06-06 13:21:06 +00:00
verbose.txt FileCheck [6/12]: Introduce numeric variable definition 2019-06-06 13:21:06 +00:00