mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-17 19:51:13 +00:00
Allow '_' in FileCheck variable names, it is nice to have at least one
separate character. - Chris, OK? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89626 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a2f20b20a8
commit
964ac01201
@ -224,7 +224,7 @@ The first check line matches a regex (<tt>%[a-z]+</tt>) and captures it into
|
||||
the variables "REGISTER". The second line verifies that whatever is in REGISTER
|
||||
occurs later in the file after an "andw". FileCheck variable references are
|
||||
always contained in <tt>[[ ]]</tt> pairs, are named, and their names can be
|
||||
formed with the regex "<tt>[a-zA-Z][a-zA-Z0-9]*</tt>". If a colon follows the
|
||||
formed with the regex "<tt>[a-zA-Z_][a-zA-Z0-9_]*</tt>". If a colon follows the
|
||||
name, then it is a definition of the variable, if not, it is a use.
|
||||
|
||||
FileCheck variables can be defined multiple times, and uses always get the
|
||||
|
@ -140,7 +140,7 @@ bool Pattern::ParsePattern(StringRef PatternStr, SourceMgr &SM) {
|
||||
// Named RegEx matches. These are of two forms: [[foo:.*]] which matches .*
|
||||
// (or some other regex) and assigns it to the FileCheck variable 'foo'. The
|
||||
// second form is [[foo]] which is a reference to foo. The variable name
|
||||
// itself must be of the form "[a-zA-Z][0-9a-zA-Z]*", otherwise we reject
|
||||
// itself must be of the form "[a-zA-Z_][0-9a-zA-Z_]*", otherwise we reject
|
||||
// it. This is to catch some common errors.
|
||||
if (PatternStr.size() >= 2 &&
|
||||
PatternStr[0] == '[' && PatternStr[1] == '[') {
|
||||
@ -167,7 +167,8 @@ bool Pattern::ParsePattern(StringRef PatternStr, SourceMgr &SM) {
|
||||
|
||||
// Verify that the name is well formed.
|
||||
for (unsigned i = 0, e = Name.size(); i != e; ++i)
|
||||
if ((Name[i] < 'a' || Name[i] > 'z') &&
|
||||
if (Name[i] != '_' &&
|
||||
(Name[i] < 'a' || Name[i] > 'z') &&
|
||||
(Name[i] < 'A' || Name[i] > 'Z') &&
|
||||
(Name[i] < '0' || Name[i] > '9')) {
|
||||
SM.PrintMessage(SMLoc::getFromPointer(Name.data()+i),
|
||||
|
Loading…
x
Reference in New Issue
Block a user