// 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