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

    <tr>
        <th>Summary</th>
        <td>
            [Flang] Compilation error of interface and end interface statement with read (formatted) as defined-io-generic-spec
        </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(b2b3cb5f76f15d38e67f70124d275a5696bfdb83)/AArch64
```

`interface and end interface statement` with `read (formatted)` as `defined-io-generic-spec` fails the linker command.  
When `read (formatted)` is removed from `interface and end interface statement`, the compilation is successful.

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

sngg521n_21.f90:
```fortran
PROGRAM MAIN
  TYPE T
 INTEGER::A
  END TYPE T
  INTERFACE READ(FORMATTED)
     SUBROUTINE SUB1 (DTV, UNIT, IOTYPE, V_LIST, IOSTAT, IOMSG)
       IMPORT T
       CLASS(T), INTENT(INOUT)         :: DTV
       INTEGER, INTENT(IN)             :: UNIT
       CHARACTER(LEN=*), INTENT(IN)    :: IOTYPE
       INTEGER, INTENT(IN)             :: V_LIST (:)
       INTEGER, INTENT(OUT) :: IOSTAT
       CHARACTER(LEN=*), INTENT(INOUT) :: IOMSG
     END SUBROUTINE SUB1
  END INTERFACE READ(FORMATTED)
  print *,'pass'
END PROGRAM MAIN
```

```
$ flang sngg521n_21.f90
/opt/rh/gcc-toolset-12/root/usr/lib/gcc/aarch64-redhat-linux/12/../../../../bin/ld: /tmp/sngg521n_21-1789ed.o:(.data.rel.ro._QFEXsXt[_QFEXsXt]+0x8): undefined reference to `sub1_'
flang-20: error: linker command failed with exit code 1 (use -v to see invocation)
$
```

```
$ gfortran sngg521n_21.f90; ./a.out
 pass
$
```

```
$ ifx sngg521n_21.f90; ./a.out
 pass
$
```

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJycVU1zozgQ_TXyRQUlhA344AOxTdZViZ21SXb2lBKoMZoF5JKEJ_vvtyTI2Elm54tyGSGpX7det14zrcWxA1ig2Q2arSasN7VUC1l30qs-TwrJ_12giIw_kj6B0kJ2WFa4alh3xChMMQ184hNEk4IWYVnMqjiqghkPE4jiKiYBnXIaz9gsmkdFxYskRHSOaJamqqyjKSLptYfhU3QGVMVKwKzjGDqOLzPaMAMtdAZFBH8RpsYoIgoYx4gmlVQtMwa49RERzLRd5VCJDrgnpHeEDpQoPX2C0m6omGg0NjXgRnT_gMKlbFvWcR9jRNK_aui-By80VtDKM3BcKdniXwgd0aVzW8r2JBpmLK1CY92XJWhd9Y0_sJHXgCvZNPKL6I6YKXBWBrTBJyWPirUWKbPZsIPbSiqjWOe8i-rlGh_RDF6g7J0vBbpvzOhEd8fjjAbdMw38ak5QmF6nZYREJH3Y72736T2-TzdbRFKM878f1ji3w802X9-u99Y0TFO3uN6urja4HfssXa7xfp2uEE2y3f4-zfP1yrJpd2CMD483-91jvtmu7TCwpK_yJ3uyx-0mt-_NzmLa0dPz3eYwzh3ydBzdH26v8DDe3D_s9vkYg3uWd-nhgGiSu0JcusC2OaLJZrt7tJP49RlOg20EF7zxoG8Nr62uLF3QF8d_pPt0mVvj5G69ReEK0fRjECPWCDGe9_f8DxRZFu3EG1q-ATOe_qtjR-qvRv8exOZjxLAF8S7BXwvlx9VxUqIz2PlcIhqfmNaIxoik1vxdZX6UlMsnnY7i9b7q7VomTwbRTNWIZsey9IyUjQbjBdTOSmkXe60QzRpRDHsQzRhzWuYp4DUzXiO6_gXRzBn5_se_QtjL2HDLEKKZaU-IZlfheEGczIH70mUt8TkzzFfQ-Er6z39m60_6k0Gzm8twhegNeUksVWGK-25UPKygAgVdCdhIq066L4LngTXHgUftZceglFR28FYEnToCH1QWXoTBpeSA3a3sNWDvbGE1ABbdWZajyMwHkn-cheOrVn2QnxtsWWK-7I1NvUv1T4JazfttvAlfhHweztkEFkE8DcNkRmg4qRcRi2AaBREhdDrl8yAgMZ8nAUyrqgyBwUQsKKEzEoYBCcKYhH5VhjwkNKCcQMz5HE0JtEw0ftOcW1-q40Ro3cMiCMMoDiYNK6DRrg9TWg1qTm1LVgtr4BX9UaMpaYQ2-gJhhGlc8x70f7bCy6t24rJqe_VP9aQhy9_qdLaL_k8LnfSqWdTGnLSr1MzeCGHqvvBL2doSb86vL--k5Gco7QVyJ9f2ggyHPy_ofwEAAP__k2hrXA">