1// Test the FIR types parser diagnostics 2// RUN: fir-opt -split-input-file -verify-diagnostics %s 3 4// expected-error@+1 {{expected non-function type}} 5func.func private @box3() -> !fir.boxproc<> 6 7// ----- 8 9// expected-error@+2 {{expected attribute value}} 10// expected-error@+1 {{expected affine map}} 11func.func private @box1() -> !fir.box<!fir.array<?xf32>, > 12 13// ----- 14 15// expected-error@+1 {{expected non-function type}} 16func.func private @box1() -> !fir.box<> 17 18// ----- 19 20// expected-error@+1 {{expected integer value}} 21func.func private @box2() -> !fir.boxchar<> 22 23// ----- 24 25// expected-error@+1 {{expected integer value}} 26func.func private @it6() -> !fir.char<> 27 28// ----- 29 30// expected-error@+1 {{expected integer value}} 31func.func private @it6() -> !fir.char<2, > 32 33// ----- 34 35// expected-error@+1 {{expected integer value}} 36func.func private @it3() -> !fir.complex<> 37 38// ----- 39 40// expected-error@+1 {{expected non-function type}} 41func.func private @mem3() -> !fir.heap<> 42 43// ----- 44 45// expected-error@+1 {{expected integer value}} 46func.func private @it1() -> !fir.int<A> 47 48// ----- 49 50// expected-error@+1 {{expected integer value}} 51func.func private @it1() -> !fir.logical<b> 52 53// ----- 54 55// expected-error@+1 {{expected non-function type}} 56func.func private @mem3() -> !fir.ptr<> 57 58// ----- 59 60// expected-error@+1 {{expected integer value}} 61func.func private @mem3() -> !fir.real<> 62 63// ----- 64 65// expected-error@+1 {{expected valid keyword}} 66func.func private @mem3() -> !fir.type<> 67 68// ----- 69 70// expected-error@+2 {{expected valid keyword}} 71// expected-error@+1 {{expected LEN parameter list}} 72func.func private @dvd4() -> !fir.type<derived4()> 73 74// ----- 75 76// expected-error@+2 {{expected ':'}} 77// expected-error@+1 {{expected LEN parameter list}} 78func.func private @dvd4() -> !fir.type<derived4(p)> 79 80// ----- 81 82// expected-error@+2 {{expected non-function type}} 83// expected-error@+1 {{expected LEN parameter list}} 84func.func private @dvd4() -> !fir.type<derived4(p:)> 85 86// ----- 87 88// expected-error@+2 {{expected valid keyword}} 89// expected-error@+1 {{expected field type list}} 90func.func private @dvd4() -> !fir.type<derived4(p:i8){}> 91 92// ----- 93 94// expected-error@+2 {{expected ':'}} 95// expected-error@+1 {{expected field type list}} 96func.func private @dvd4() -> !fir.type<derived4(p:i8){f1}> 97 98// ----- 99 100// expected-error@+2 {{expected non-function type}} 101// expected-error@+1 {{expected field type list}} 102func.func private @dvd4() -> !fir.type<derived4(p:i8){f1:f2}> 103 104// ----- 105 106// expected-error@+2 {{expected valid keyword}} 107// expected-error@+1 {{expected field type list}} 108func.func private @dvd4() -> !fir.type<derived4(p:i8){f1:i32,}> 109 110// ----- 111 112// expected-error@+2 {{expected valid keyword}} 113// expected-error@+1 {{expected field type list}} 114func.func private @dvd4() -> !fir.type<derived4(p:i8){,}> 115 116// ----- 117 118// expected-error@+1 {{expected non-function type}} 119func.func private @mem3() -> !fir.ref<> 120 121// ----- 122 123// expected-error@+1 {{expected ':'}} 124func.func private @arr1() -> !fir.array<*> 125 126// ----- 127 128// expected-error@+1 {{expected non-function type}} 129func.func private @arr1() -> !fir.array<*:> 130 131// ----- 132 133// expected-error@+1 {{expected integer value}} 134func.func private @oth1() -> !fir.shape<> 135 136// ----- 137 138// expected-error@+1 {{expected integer value}} 139func.func private @oth1() -> !fir.shapeshift<> 140 141// ----- 142 143// expected-error@+1 {{expected integer value}} 144func.func private @oth1() -> !fir.shift<> 145 146// ----- 147 148// expected-error@+1 {{expected integer value}} 149func.func private @oth1() -> !fir.slice<> 150 151// ----- 152 153// expected-error@+1 {{expected non-function type}} 154func.func private @oth3() -> !fir.tdesc<xx> 155 156// ----- 157 158// expected-error@+1 {{expected integer value}} 159func.func private @oth3() -> !fir.vector<> 160 161// ----- 162 163// expected-error@+1 {{expected ':'}} 164func.func private @oth3() -> !fir.vector<10> 165 166// ----- 167 168// expected-error@+1 {{expected non-function type}} 169func.func private @oth3() -> !fir.vector<10:> 170