[clang-tidy][NFC]remove deps of clang in clang tidy test (#116588)
[llvm-project.git] / mlir / test / Dialect / IRDL / cyclic-types.mlir
blob56dc2d61787b6f779bd934a82b3e3d18d0ecd6b7
1 // RUN: mlir-opt %s --irdl-file=%S/cyclic-types.irdl.mlir -split-input-file -verify-diagnostics | FileCheck %s
3 // Types that have cyclic references.
5 // CHECK: !testd.self_referencing<i32>
6 func.func @no_references(%v: !testd.self_referencing<i32>) {
7   return
10 // -----
12 // CHECK: !testd.self_referencing<!testd.self_referencing<i32>>
13 func.func @one_reference(%v: !testd.self_referencing<!testd.self_referencing<i32>>) {
14   return
17 // -----
19 // expected-error@+1 {{'i64' does not satisfy the constraint}}
20 func.func @wrong_parameter(%v: !testd.self_referencing<i64>) {
21   return
24 // -----
26 // CHECK: !testd.type1<i32>
27 func.func @type1_no_references(%v: !testd.type1<i32>) {
28   return
31 // -----
33 // CHECK: !testd.type1<!testd.type2<i32>>
34 func.func @type1_one_references(%v: !testd.type1<!testd.type2<i32>>) {
35   return
38 // -----
40 // CHECK: !testd.type1<!testd.type2<!testd.type1<i32>>>
41 func.func @type1_two_references(%v: !testd.type1<!testd.type2<!testd.type1<i32>>>) {
42   return
45 // -----
47 // expected-error@+1 {{'i64' does not satisfy the constraint}}
48 func.func @wrong_parameter_type1(%v: !testd.type1<i64>) {
49   return
52 // -----
54 // expected-error@+1 {{'i64' does not satisfy the constraint}}
55 func.func @wrong_parameter_type2(%v: !testd.type2<i64>) {
56   return