// RUN: not mlir-tblgen -gen-rewriters -I %S/../../include -DERROR1 %s 2>&1 | FileCheck --check-prefix=ERROR1 %s // RUN: not mlir-tblgen -gen-rewriters -I %S/../../include -DERROR2 %s 2>&1 | FileCheck --check-prefix=ERROR2 %s include "mlir/IR/OpBase.td" // Check using the dialect name as the namespace def A_Dialect : Dialect { let name = "a"; } class A_Op traits = []> : Op; def OpA : A_Op<"op_a">, Arguments<(ins AnyInteger, AnyInteger)>, Results<(outs AnyInteger)>; def OpB : A_Op<"op_b">, Arguments<(ins AnyInteger, AnyAttr:$value)>, Results<(outs AnyInteger)>; #ifdef ERROR1 def NativeMatcher : NativeCodeCall<"success(nativeCall($0, $1))">; // ERROR1: [[@LINE+1]]:1: error: binding symbol 'error' to native code call unsupported right now def : Pat<(OpA (NativeMatcher:$error $val), AnyI32Attr:$arg), (OpB $val, $arg)>; #endif #ifdef ERROR2 def NativeMatcher : NativeCodeCall<"success(nativeCall($0, $1))">; // ERROR2: [[@LINE+1]]:1: error: Matching nested tree in NativeCodecall not support for def : Pat<(OpA (NativeMatcher (OpB $val, $unused)), AnyI32Attr:$arg), (OpB $val, $arg)>; #endif