blob: 743aebd130b0a3a5a6430b3afc04e174c146ff99 [file] [log] [blame]
// RUN: llvm-tblgen %s | FileCheck %s
// RUN: not llvm-tblgen -DERROR1 %s 2>&1 | FileCheck --check-prefix=ERROR1 %s
// RUN: not llvm-tblgen -DERROR2 %s 2>&1 | FileCheck --check-prefix=ERROR2 %s
// RUN: not llvm-tblgen -DERROR3 %s 2>&1 | FileCheck --check-prefix=ERROR3 %s
// RUN: not llvm-tblgen -DERROR4 %s 2>&1 | FileCheck --check-prefix=ERROR4 %s
// XFAIL: vg_leak
def test {
bit test0 = !match("123 abc ABC", "[0-9 a-z A-Z]+");
bit test1 = !match("abc", "[0-9]+");
}
// CHECK-LABEL: def test {
// CHECK-NEXT: bit test0 = 1;
// CHECK-NEXT: bit test1 = 0;
// CHECK-NEXT: }
#ifdef ERROR1
defvar error1 = !match(123, ".*");
// ERROR1: error: expected value of type 'string', got 'int'
#endif
#ifdef ERROR2
defvar error2 = !match("abc", 123);
// ERROR2: error: expected value of type 'string', got 'int'
#endif
#ifdef ERROR3
defvar error3 = !match("abc", "abc", "abc");
// ERROR3: error: expected two operands to operator
#endif
#ifdef ERROR4
defvar error4 = !match("abc", "([)]");
// ERROR4: error: invalid regex '([)]'
#endif