| // 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}} | |
| // ----- |