[Mlir-commits] [mlir] [mlir][Parser] Fix crash after block parsing failure (PR #128011)

Matthias Springer llvmlistbot at llvm.org
Fri Feb 21 00:07:59 PST 2025


================
@@ -675,3 +675,17 @@ func.func @error_at_end_of_line() {
 // -----
 
 @foo   // expected-error {{expected operation name in quotes}}
+
+// -----
+
+func.func @drop_references_on_block_parse_error(){
+  "test.user"(%i, %1) : (index, index) -> ()
+  "test.op_with_region"() ({
+  ^bb0(%i : index):
+    // expected-error @below{{expected operation name in quotes}}
----------------
matthias-springer wrote:

Actually, the location is correct. I think the way we print this is on purpose.

I found this in `Parser.cpp`:
```c++
    // Drop the \n so we emit the diagnostic at the end of the line.
    startOfBuffer = startOfBuffer.drop_back();
```


https://github.com/llvm/llvm-project/pull/128011


More information about the Mlir-commits mailing list