<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/62299>62299</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang] too much error messages when syntax error exists in IF-clause
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
k-arrows
</td>
</tr>
</table>
<pre>
Let's consider the following (invalid) Fortran program.
```console
$ cat test.f90
program test
if (.TRUE.)
else if (.FALSE.)
end if
end program
```
Gfortran plainly reports Syntax error in IF-clause.
```console
$ gfortran test.f90
test.f90:2:15:
2 | if (.TRUE.)
| 1
Error: Syntax error in IF-clause after (1)
test.f90:3:21:
3 | else if (.FALSE.)
| 1
Error: Missing THEN in ELSE IF statement after (1)
test.f90:4:7:
4 | end if
| 1
Error: Expecting END PROGRAM statement at (1)
```
However, the flang-new emits too much error messages regarding IF-clause.
```console
$ flang-new -flang-experimental-exec test.f90 2> error.txt
$ cat error.txt | grep "./test.f90:2:16: error: expected"
./test.f90:2:16: error: expected 'THEN'
./test.f90:2:16: error: expected 'PAUSE'
./test.f90:2:16: error: expected 'GO TO'
./test.f90:2:16: error: expected 'ASSIGN'
./test.f90:2:16: error: expected 'IF'
./test.f90:2:16: error: expected 'FORALL'
./test.f90:2:16: error: expected 'GO TO'
./test.f90:2:16: error: expected 'WRITE'
./test.f90:2:16: error: expected 'WRITE ('
./test.f90:2:16: error: expected 'WHERE'
./test.f90:2:16: error: expected 'WAIT'
./test.f90:2:16: error: expected 'UNLOCK ('
./test.f90:2:16: error: expected 'SYNC TEAM'
./test.f90:2:16: error: expected 'SYNC MEMORY'
./test.f90:2:16: error: expected 'SYNC IMAGES'
./test.f90:2:16: error: expected 'SYNC ALL'
./test.f90:2:16: error: expected 'ERROR STOP'
./test.f90:2:16: error: expected 'STOP'
./test.f90:2:16: error: expected 'REWIND'
./test.f90:2:16: error: expected 'RETURN'
./test.f90:2:16: error: expected 'READ'
./test.f90:2:16: error: expected 'READ ('
./test.f90:2:16: error: expected 'PRINT'
./test.f90:2:16: error: expected 'OPEN ('
./test.f90:2:16: error: expected 'NULLIFY'
./test.f90:2:16: error: expected 'LOCK ('
./test.f90:2:16: error: expected 'INQUIRE'
./test.f90:2:16: error: expected 'IF'
./test.f90:2:16: error: expected 'GO TO'
./test.f90:2:16: error: expected 'FORM TEAM'
./test.f90:2:16: error: expected 'FLUSH'
./test.f90:2:16: error: expected 'FAIL IMAGE'
./test.f90:2:16: error: expected 'EXIT'
./test.f90:2:16: error: expected 'EVENT WAIT'
./test.f90:2:16: error: expected 'EVENT POST'
./test.f90:2:16: error: expected 'END FILE'
./test.f90:2:16: error: expected 'DEALLOCATE ('
./test.f90:2:16: error: expected 'CYCLE'
./test.f90:2:16: error: expected 'CONTINUE'
./test.f90:2:16: error: expected 'CLOSE'
./test.f90:2:16: error: expected 'CALL'
./test.f90:2:16: error: expected 'BACKSPACE'
./test.f90:2:16: error: expected 'ALLOCATE ('
./test.f90:2:16: error: expected '=>'
./test.f90:2:16: error: expected '('
./test.f90:2:16: error: expected '='
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEWFFzokgQ_jXjS5cWDKDxwYdZhIRaBA_09vI4wRa5Q7BmxsT8-yvAaGJlL1vDVa1lKcz4ff11093QcimLvEKcEecbceYDflS7Wsz-GXIh6hc5eKo3r7MQFaETCVldyWKDAtQOYVuXZf1SVDkQeldUz7wsNoROwa-FEryCg6hzwfcjYsyJwcjY6N4NR13ieZXakHEFCqUabadGt3pGtqvdCgBAsW0MjVbJ2hsROr1uYCnxbddnYXq7XW2g2HbnzfGZ_UbW-bT9vN--uVDyoipfQeChFkpC-lopfgIUohZQVBD4w6zkR4lfOpm_UX709HJmMUosZjrEYu-VAAUyceE_3YfLT64vs9v2GqHEYj8XDnyrUDTM5oX0nSirEWbeigIA62L0i-h_pu5zjYtCyiabVg9e1Gj0wtSDwAepuMI9VuoLrTax2OQTqfZV6rtMuGq71eGdDpipRokXzWGZxPcJW7xXoT5K-DSFHuoXfEZBqNvVSsmrfFjhC-C-UBJUXcP-mO3OV2SPUvIcJQjMudg0tn89ta7cw-4QTwcURaOVl0M8YXZJOqDE8jqbI3VSH2vwstxGJRd4AELpiFD_NkvHTZjwLV7Yxgs3hNKO8NchQOikudyETnSgS7ZOPU3sfQyrWBPL0jS41xUd-JpAP05YGP4Gd38kwUo3zC22qRdd_IOXaNtmwUoTuo7C2P3eQ3f6GLmw8tiiD37hLeLksQ9DsGD3XtqHQT_lvCSJE0hX8VLXvj408X4E0VwbvFonuuWdeEzfLpv3SLllEkS6-R4vvaiH6WgdhoGvm6k9Sy2I_lgH2k1Cux336ah-nCz6dAc_XKcPulgWhF1f0K3rv7TbqvenF62gR1_uCJZxqk0QzcEPQl3f5x4Lw9hlve5p7qOrLcCNo1UQrbXhYaz9xOTq3wq-Mfd7umSurun_IejEmhNL134_s2_IyyP8YDOzNlNrygc4M8d31BxbtmUMdjNrwsfjMXeoZWe2M95kjmFtbbSntjGdmmgMihk1qGXYlJqmNTGN0daZ3Dm2Y1qYGXd4ZxLbwD0vylFZPu9HtcgHhZRHnI0pnU4HJX_CUrajPqXNxNBuNg_uznwgZg1m-HTMJbGNspBKXllUocr2P4J2xCDO_KcjzMsOK5Dv5008NVwfxs7BUZSznVIH2Qxs1CfUzwu1Oz6NsnpPqN_YPX8ND6L-GzNFqN-qlYT6rTf_BgAA__8L7Z6S">