diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-05-22 21:28:20 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-05-22 21:28:20 +0000 |
commit | b79a25b124376262b5df89686bf0c374ada0e977 (patch) | |
tree | 1054aaa6769bca5cfbdb7b465a198c6384c719a1 /llvm/test/TableGen/foreach-range-parse-errors0.td | |
parent | 5498486b46658d7c55bba7fcfc4257629baa3285 (diff) | |
download | bcm5719-llvm-b79a25b124376262b5df89686bf0c374ada0e977.tar.gz bcm5719-llvm-b79a25b124376262b5df89686bf0c374ada0e977.zip |
TableGen: Handle nontrivial foreach range bounds
This allows using anything that isn't a literal integer as the bounds
for a foreach. Some of the diagnostics aren't perfect, but nobody ever
accused tablegen of having good errors. For example, the existing
wording suggests a bitrange is valid, but as far as I can tell this
has never worked.
Fixes bug 41958.
llvm-svn: 361434
Diffstat (limited to 'llvm/test/TableGen/foreach-range-parse-errors0.td')
-rw-r--r-- | llvm/test/TableGen/foreach-range-parse-errors0.td | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/test/TableGen/foreach-range-parse-errors0.td b/llvm/test/TableGen/foreach-range-parse-errors0.td new file mode 100644 index 00000000000..a3e6a9eb975 --- /dev/null +++ b/llvm/test/TableGen/foreach-range-parse-errors0.td @@ -0,0 +1,19 @@ +// RUN: not llvm-tblgen %s 2>&1 | FileCheck -DFILE=%s %s + +class ConstantsImpl { + int Zero = 0; + int One = 1; + int Two = 2; + int Three = 3; + int Five = 5; +} + +def Constants : ConstantsImpl; + +// CHECK-NOT: error: Unknown token when parsing a value +// CHECK: [[FILE]]:[[@LINE+3]]:22: error: Unknown token when parsing a value +// CHECK: [[FILE]]:[[@LINE+2]]:22: error: expected integer value as end of range +// CHECK: [[FILE]]:[[@LINE+1]]:22: error: expected declaration in for +foreach Index = 0 - in { + +} |