<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/131547>131547</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [Flang] Compilation abnormally terminates when assigned GO TO statement is used
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            flang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          ohno-fj
      </td>
    </tr>
</table>

<pre>
    ```
Version of flang : 21.0.0(74ca5799caea342ac1e8d34ab5be7f45875131b2)/AArch64
```

According to `Fortran standard 2023: B. 1 Deleted features from Fortran 90`, `assigned GO TO statement` is `Deleted and obsolete features`.  
However, flang mentions that it is supported by [Fortran Extensions supported by Flang](https://github.com/llvm/llvm-project/blob/main/flang/docs/Extensions.md). 
```
  Extensions, deletions, and legacy features supported by default
 - ASSIGN statement, assigned GO TO, and assigned format
```

When the attached program is compiled and executed to confirm the above, `assignment GO TO statement` results in a compilation error.  
Gfortran and ifx compile and execute normally.

The following are the test program, Flang, Gfortran and ifx compilation/execution result.

mvct1300_2.f:
```fortran
 program main
      real*4 a(11)/11*0/,b(10)/10*0/
      do 100 i=1,10
 b(i)=0
 100   a(i)=0
       do 110 i=2,10
        j=i-1
 if(j.gt.0) goto 120
 111    continue
        a(j)=j
 120      j=j+1
 assign 112 to label
        if (j.lt.11) assign 111 to label
        goto label (111,112)
 112    b(i)=i
 110  continue
      write(6,*) a
 write(6,*) b
      stop
      end
```

```
$ flang mvct1300_2.f

fatal Fortran runtime error(/work/home/ohno/CT/test/fort/tp/reproducerJ/mvct1/mvct1300_2.f:14): Assigned GOTO variable 'label' does not have a valid target label value
Aborted (core dumped)
$
```

```
$ gfortran mvct1300_2.f; ./a.out
mvct1300_2.f:5:72:

    5 |  100   a(i)=0
      | 1
Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 100 at (1)
mvct1300_2.f:12:72:

   12 |         assign 112 to label
      | 1
Warning: Deleted feature: ASSIGN statement at (1)
mvct1300_2.f:13:72:

   13 |         if (j.lt.11) assign 111 to label
      | 1
Warning: Deleted feature: ASSIGN statement at (1)
mvct1300_2.f:14:21:

   14 |         goto  label (111,112)
      | 1
Warning: Deleted feature: Assigned GOTO statement at (1)
   0.00000000       2.00000000       3.00000000       4.00000000 5.00000000       6.00000000       7.00000000       8.00000000 9.00000000       10.0000000       0.00000000
   0.00000000       2.00000000 3.00000000       4.00000000       5.00000000       6.00000000 7.00000000       8.00000000       9.00000000 10.0000000
$
```

```
$ ifx mvct1300_2.f; ./a.out
  0.0000000E+00 2.000000       3.000000       4.000000       5.000000
   6.000000 7.000000       8.000000       9.000000       10.00000
  0.0000000E+00
 0.0000000E+00   2.000000       3.000000       4.000000       5.000000
 6.000000       7.000000       8.000000       9.000000 10.00000
$
```

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy0V01zqzoS_TXypiuU1ICxF14QO9x5s0gWLzNvOSVAGGUwcgnh3Pz7qRbgD-Lkzp2qoVzlopFOnz79gZBdp_etUhsWP7J4t5C9q43dmLo1D9XbIjflx4Yt-fjj6T-V7bRpwVRQNbLdAwtTQBHwgDNcJVEh42S9LqSSYYSyEGpVhpHM41wlVRSvkliEIkeGa4ZZmtqiXkaMp9ceGE_TojC21O0enAG25JmxzsoWOifbUtoSkGNIjh8DELBTjXKqhEpJ11vVQWXNAaY9aw-LW8IZgy3hxwu8vhCcUwfVOrbkoDtaMWHJtgSTd4buzsBsyQMAxtO_mXd1UpZQBxEIRJu2A1dLB9oRWtcfj8YSWP4BLH6cCD39dKrt_OqbJRkhsXjHcFU7d-xYmDLMGGZ77eo-DwpzYJg1zWn6ezha86YKxzDLG5MzzA5Stwwzz4lhVpqiY5hdHAaHkuE6gJnicMWJYipJhOmGlGjUXhYfF4FveJeqkn3jCOcB0j___OPH85WyhHCj-oR5tlbGHqT7XAR_1aoFVyuQzsmiViUcrdlbeSBxC3M46mZMlPqpip7YOAOFaSttD8PG3JzUTeqJ0r3kW9X1jetAtyBHbEkKgLLW2CHpP6oxgeRSVz8nDtcUoKVgmuYjGGJ4rRVUpmnMOxWztMrzcqpzUzBEb8g8buELF54Kw2xwQrQGvqOTw6lwIuT8XxhUVDRXSo54lJtJPF8jlHO6rJINwzQCyXAlxNCW9J9yX3vbnOx8tPPJPm0vDQjOQbNwJxhuhS8m2qJpR7jz97QCvINr6wVADAB4BhivNxbu9IMgi64Yrt6CvaMhs4a9cQYEDuhC0OLCtE63vbraTx7fBo9vfiXyC_Abw0cPPdQFCIFUPY3MVXOFoSvwnhsXeHUuy8W95Z6YN4LX04si_LTzVJEWXemjBzO_w__daqcYrpYMtwxT75se3rHn502dM8fzjWrLz011c4vRNL6uK8ivq6STzXmG2r51-qCGbmC4Ypi9G_tvhlltDophRq8Lhtn2lWFG1U1DyFj6c0eGmVVHa8q-UPbvNKXI2_R_qVsReVFSSC_z4vUFTtJqmTcKGCaD3phAaVQHrXFQy5MCCSfZ6BKctHvlxgScZOPlTPNhUjFcFcYqKPvDUZVDShjeefnMJdpPTXnL9xEChpkMTO8-92DMwjTBsRmHhMTAki181w30nGryL2lb3e5JiikByMVqGMuX9xw9372AU_ag22FanWcavNe6qGlQkkhPzztaaSxsX55f_3j-xxO8a1ePQhEj6XzBDqrM84KfghE4BDN12jc9dCeo3ec45q-N7wmFnwmFN4R-q23_HwwjFqYobhhGNwz9pPh6VPwOsZtu-YIfAPCAj9dIAeeGcG6ILoZ4_mw5NyRzw-piWM-fiTOb0XBh92u23_Ecru_YfsdzuK7YXnj-t9OC3trfDYqr0J4YPnJ-jmyWhVlss8gGlaawzkHNQpoFNBP_HhuyzQnC_05xGdytkV_QvCL4WfNFuQnLdbiWC7URSYQiiRIRLepNiHGyFuVSqCpZrsM8UnzJc6W4KPIViuVCb5BjzEORcIGxiIK8kMtcYImJrFYqFizi6iB1E9DpOjB2v9Bd16uNCEUcJQvfrZ3_UEIcz9hI30x244_jeb_vWMQb3bnuAuG0a_zX1XS-h-3V-VLm04nxPMhVB-909P3qY4Wmet-pctHbZvPbXwo-IvoqGIM6bfA_AQAA___JjdOu">