<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/54343>54343</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
MLIR Block label parsing bug
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
bondhugula
</td>
</tr>
</table>
<pre>
There appears to be a very basic parsing bug on the `Block` syntax that has somehow remained undetected. The following fails to parse:
```
"builtin.func"() ({
^bb0():
"func.return"() : () -> ()
}) {sym_name = "main", type = () -> ()} : () -> ()
```
```
test.mlir:2:7: error: expected SSA operand
^bb0():
```
As per the grammar at https://mlir.llvm.org/docs/LangRef/#blocks, both `^bb0:` and `^bb0():` are valid block labels. However, the former succeeds but the latter fails.
CC: @joker-eph @jpienaar @River707
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx9U8Fu2zAM_Rr7QsRQ7LiODz4kTYcN6C7t7oNk07ZaWTIkuWn-fpSStWk3FHAgkRLfI59ehOlOza8RLQKfZ-TWgTcgKIIXtCcQ3MkWZspLPYBYBjAa_IiQ3LC9Mu0zreBO2vNXSnMPI3fgzISjOYLFiUuNHSy6Q4-txy4DIoPeKGWOAbHnUkXKQIFJsUvYIWE7Qr185zDPxSKVlzrrF91SmOTbJK8hLNX-fAmS8k4Idj55QwK6k4eizKJfrL6qLXZw2a6S4u6yvxBWh3il2rvT9FvziQYuDgEqTBQxbsGf5r_pf1Cqw9f4n-b7X9Kj89mkpCWgnH5VAERrjY2b1zkKCo-POzAzWq67r3T4BL5zQDXxJQfLp4lbCI_n_exCSf6NvsCdKfUyZcYOFHemdbTccz08YB_vFCJ4wAU1hPFjcMWFvQiMQE1d5d46CifkuBeuZAcRAhQXqFwG380RyXlR3-gUO1GfbmlbxM6RA33MK-495aN9smsRb2-j7hv2ZJ7RrnAeYzBL1JyGpP2DJPyKVXAuSLum6Oqi5qmXXmHz8_7HA-zfe7o2f7pY1XwUaZB-XETWmomCINZlWc3WPNELUSidWzAoV26KTZGOTVdue-xbvhWsrdsNL6q-ZGIrbjgyvmY8PYvRJOWerKbxCBEi2K48pLLJWZ6zYp2z9aZa19kWe1HzTV2264oVdU4zhj-eenu71DaxJZrA0aGSzrv3Q-6cHDRipCN8vvjR2EYY3Y3LsCieRvYmdv8HkHQ7gg">