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

    <tr>
        <th>Summary</th>
        <td>
            [flang] flang issues error for transfer intrinsic
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          shivaramaarao
      </td>
    </tr>
</table>

<pre>
    Consider the following program

program main
   integer, parameter :: n2 = 2
 integer, parameter :: n = 1
   integer :: in(n)
   real :: r_in2(n2)
 integer :: in2(n2)
   in = transfer(r_in2, in2)

end program

the above program compiles fine with gfortran and classic flang. However llvm flang issues following error

error: Semantic errors in xx.f90
./xx.f90:7:4: error: Dimension 1 of left-hand side has extent 1, but right-hand side has extent 2
     in = transfer(r_in2, in2)

>From the standard:

Return value:
The result has the same type as MOLD, with the bit level representation of SOURCE. If SIZE is present, the result is a one-dimensional array of length SIZE. If SIZE is absent but MOLD is an array (of any size or shape), the result is a one- dimensional array of the minimum length needed to contain the entirety of the bitwise representation of SOURCE. If SIZE is absent and MOLD is a scalar, the result is a scalar.

I am not sure if gfortran is wrong not to give error or llvm-flang is wrong issuing the error.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMVMGO4zYM_RrlQozhSM4mPvjgTjboAC0W2GkvvRS0TdsqZCmg5GSmX19IdjIIurvYU2I98vHxiRR6rwdLVIndL2J33OAcRseVH_UFGSdERrdpXPdePTvrdUcMYSTonTHuqu0AZ3YD4yTyWuT1-gETaivyGgC0DTQQC_kM50hIgRiEqoWqwUoQ6ggyRv4wLoVtHwhvmLZCHqyQ5YIyoblB_Le2MqJyhf-X-oBG6lQoMFrfRy2HleJ5iS2XJsl2j11HQ7BxF7odQ-umszbkodeW4KrDCEPvODID2g5aE31voTdohwx-dVe6EIMxl2k5A-39HPPvPhOz41VA-qtqeKUJbdDtAvrYwNtb1pe5yOtMyNP6oeq9UHURM-6pRz2R9dpZ2ILrwVAfnsYoLd4xjOiB3gLZANvYfjMHYD2M34mRi38_7eCJ3ZTGyAe0HXIXbyQhXynMbOGCZqbl8I-RgMnPJqSKKQsngvB-JkAPv3_57Rj5k8kRbXQAQxcywHRm8mQDhtio6-H1y59fnz9n8NLD68tfn0F7WEMiRfgopT0gOEtP3c0nNIDM-L64ZYcwJooHLmwiVXIrykpHdk0T8uB6QPsOXv9L4Bj8iGeKnnynNHyzdoyctNXTPN10WKKOOggOWmcDapuCyAbNFO5JjQ5X7ennXFk7iZd97wR8iwb5W3IXJFvu8AVwAusC-JkJdP8x-trDlZ0dEhocDPpCy0hGP-L0P92mfw2MaxCnPzUUA7NNV6muVCVuqNrui7w85PJTsRkreWg_5dv9QXYS863KW9V2273CopSqUdhsdCVzuctVrvKd2hdFVki1b4qW5O5QIpISRU4TapNFJZnjYZO2sNrKstiXG4MNGZ8eSimTTiFlfDO5StKbefCiyI32wX9QBB1Mel2XjN3xccGX7nvH96WJzxRr63W7mdlUYwhnH1dBnoQ8DTqMc5O1bhLyFGusP09ndv9QG4Q8LcRCnlbZl0r-FwAA__-z4--U">