1// RUN: not mlir-tblgen -gen-op-decls -I %S/../../include -DERROR1 %s 2>&1 | FileCheck --check-prefix=ERROR1 %s
2// RUN: not mlir-tblgen -gen-op-decls -I %S/../../include -DERROR2 %s 2>&1 | FileCheck --check-prefix=ERROR2 %s
3// RUN: not mlir-tblgen -gen-op-decls -I %S/../../include -DERROR3 %s 2>&1 | FileCheck --check-prefix=ERROR3 %s
4
5include "mlir/IR/OpBase.td"
6
7def Test_Dialect : Dialect {
8  let name = "test_dialect";
9}
10
11#ifdef ERROR1
12// ERROR1: error: expected 'ins'
13def OpInsMissing : Op<Test_Dialect, "ins_missing"> {
14  let builders = [
15    OpBuilderDAG<(outs)>
16  ];
17}
18#endif
19
20#ifdef ERROR2
21// ERROR2: error: expected an argument with default value after other arguments with default values
22def OpDefaultValueNotTrailing : Op<Test_Dialect, "default_value"> {
23  let builders = [
24    OpBuilderDAG<(ins CArg<"int", "42">, "int")>
25  ];
26}
27#endif
28
29#ifdef ERROR3
30// ERROR3: error: expected an argument with default value after other arguments with default values
31def OpDefaultValueNotTrailing : Op<Test_Dialect, "default_value"> {
32  let builders = [
33    OpBuilderDAG<(ins CArg<"int", "42">, CArg<"int">)>
34  ];
35}
36#endif
37