blob: 27a53bd93f575ad7041715079d97bb6168e47098 [file] [log] [blame]
// TODO(andydavis) Resolve relative path issue w.r.t invoking mlir-opt in RUN
// statements (perhaps through using lit config substitutions).
//
// RUN: %S/../../mlir-opt %s -o - -check-parser-errors
// Check different error cases.
// -----
extfunc @illegaltype(i) // expected-error {{expected type}}
// -----
extfunc @nestedtensor(tensor<tensor<i8>>) -> () // expected-error {{expected type}}
// -----
cfgfunc @foo()
cfgfunc @bar() // expected-error {{expected '{' in CFG function}}
// -----
extfunc missingsigil() -> (i1, affineint, f32) // expected-error {{expected a function identifier like}}
// -----
cfgfunc @bad_branch() {
bb42:
br missing // expected-error {{reference to an undefined basic block 'missing'}}
}
// -----
cfgfunc @block_redef() {
bb42:
return
bb42: // expected-error {{redefinition of block 'bb42'}}
return
}
// -----
cfgfunc @no_terminator() {
bb40:
return
bb41:
bb42: // expected-error {{expected operation name}}
return
}
// -----
mlfunc @foo()
mlfunc @bar() // expected-error {{expected '{' in ML function}}
// -----
mlfunc @no_return() {
} // expected-error {{ML function must end with return statement}}
// -----
" // expected-error {{expected}}
"
// -----
" // expected-error {{expected}}
// -----
cfgfunc @no_terminator() {
bb40:
"foo"()
""() // expected-error {{empty operation name is invalid}}
return
}
// -----
extfunc @illegaltype(i0) // expected-error {{invalid integer width}}
// -----
mlfunc @incomplete_for() {
for
} // expected-error {{expected '{' before statement list}}
// -----
mlfunc @non_statement() {
asd // expected-error {{expected statement}}
}
// -----
cfgfunc @malformed_dim() {
bb42:
"dim"(){index: "xyz"} // expected-error {{'dim' op requires an integer attribute named 'index'}}
return
}
// -----
#map = (d0) -> (% // expected-error {{invalid SSA name}}
// -----