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

    <tr>
        <th>Summary</th>
        <td>
            [flang] Result from TRANSFER intrinsic for INTEGER to LOGICAL and back is not identity
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            bug,
            flang:frontend
      </td>
    </tr>

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

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

<pre>
    Here is a small reproducer:
        
                Program test_transfer
                  Logical ::l = Transfer(42,.true.)
                  Call s(l)
                 Contains
                        Subroutine s(x)
                          Logical ::x
                          Print '(I14)', Transfer(x,1) ! 42 recovered
                        End Subroutine s
                End Program test_transfer
        
        $ flang-new repro.F90 && ./a.out
 1

        $ gfortran repro.F90  && ./a.out
                repro.F90:2:15:
                        2 |   Logical ::l = Transfer(42,.true.)
                          |               1
                Warning: Assigning value other than 0 or 1 to LOGICAL has undefined result at (1)
                                         0

        $ ifx repro.F90 && ./a.out
             42


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykVF1vqzgQ_TXDy6gIj_l84IFNQrdS1a3SSvu4MmCIt8SObNNN__0K0t5LP676cC0kj5g5h-M5g4VzatBSlpD8Ack2EJM_GFs-KSv0kz8Fjeleyj-llagcCnRHMY5o5cmabmqlBV5BtIWogqhYBcW9NYMVR_TS-X-8Fdr10q4LEG_NoFox4kzBq3nf4uNbJeUxAW1CbycZAhXvoZtZhAPKx4-pjdFeKO3WLyEqHqbGmskrLRfY-QPsCz3nT_l7q7RHoAwov2HxTDHHm7XoM9CGARUIxDAmtLI1z9LK7gPbTnf4TtMqPee-a99bQDH2o9DDlZb_XVwJ6yJCoBQoxRCoFqGZ_AWA7A24gg-9sfMHVuhfwC_qfpQBrwh4xZL3IzA_hJBt8DccXvp94Vgvtq75W1it9AC8wmqZYaUHfBbjJNH4g7ToD0JjhMYiQ2_w9q_rm011iwfhcNKd7JWWHVrpptGjmI3N2WcZr2KiLzqn-vP3LV-vmNYsQVfyruCFCGTJsigukjTnLDiUPS-yPOVSNHHXZGnStZLFsk9jwdOYN12gSooojhhjURZljIV5k1JOXZzGQnLe9xBH8ijUGI7j8zE0dgiUc5MssyzjSTCKRo5u-d-JmmkAmn0AomWSgFe9NdpL3c2JZBvYcqa5aqbBQRyNynn3k9grPy53xwWcbHF_6WhvzREf99XdQ73bo9LeKu1Ui72xeHP3uLve7deuCN1hI9qn-ZbRxqPqpPbKvwSTHcuD9yc3DxHVQPWg_GFqwtYcgepZyOt2dbLmX9l6oHo5rgOqlxP_HwAA__8TpF8H">