aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/TableGen/unsetop.td
blob: 54ede19d2c35906ce23ad2c0561a47cc61cea217 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// RUN: llvm-tblgen %s | FileCheck %s
// RUN: not llvm-tblgen -DERROR %s 2>&1 | FileCheck --check-prefix=ERROR %s

def op;
def otherop;

def test {
  // CHECK: dag d = (? "hello":$world);
  dag d = (? "hello":$world);

  // CHECK: dag undefNeither = (op 1, 2);
  dag undefNeither = !con((op 1), (op 2));
  // CHECK: dag undefFirst = (op 1, 2);
  dag undefFirst   = !con((?  1), (op 2));
  // CHECK: dag undefSecond = (op 1, 2);
  dag undefSecond  = !con((op 1), (?  2));
  // CHECK: dag undefBoth = (? 1, 2);
  dag undefBoth    = !con((?  1), (?  2));
  // CHECK: dag namedLHS = (op:$lhs 1, 2);
  dag namedLHS = !con((op:$lhs 1), (op 2));
  // CHECK: dag namedRHS = (op:$rhs 1, 2);
  dag namedRHS = !con((op 1), (op:$rhs 2));
  // CHECK: dag namedBoth = (op:$lhs 1, 2);
  dag namedBoth = !con((op:$lhs 1), (op:$rhs 2));

#ifdef ERROR
  // ERROR: Concatenated Dag operators do not match: '(op 1)' vs. '(otherop 2)'
  dag mismatch     = !con((op 1), (otherop 2));
#endif
}