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

    <tr>
        <th>Summary</th>
        <td>
            [Flang][OpenACC] possible memory leak in generated code
        </td>
    </tr>

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

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

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

<pre>
    https://github.com/llvm/llvm-project/blob/d1538c15f9c65a70f4650bd724972536f00f5094/flang/lib/Lower/OpenACC.cpp#L1026 and https://github.com/llvm/llvm-project/blob/d1538c15f9c65a70f4650bd724972536f00f5094/flang/lib/Lower/OpenACC.cpp#L462 both call `createTempFromMold` on boxed arrays. Which I think will create a heap temporary: https://github.com/llvm/llvm-project/blob/8511b320807085e88a10ae7275c2255da9d0172a/flang/lib/Optimizer/Builder/HLFIRTools.cpp#L1084-L1091

The cleanup value returned from `createTempFromMold` is ignored in both cases.


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMk81q3DAUhZ9G3ogY6dryz8KLSQbTwJRACXStn2tbjWwZSU46ffpiJyGF0kW76kbS5h7O-XSPjNGOC2JHxC0R50xuafKhS8rJKVPeXLsppTWS4kSgJ9CPNk2byrWfCfTOPb9fN2vw31AnAr1yXhHoDRdFo7kYWl0JWbOhrARTpoayrUEU1cDYIFhbEugHJ5dxF7L74MW_YCDQP6y4nO7ucr2uBIoLZ1BRuRj6vxgqK6DKp4lq6RwlFdMBZcJHnNc--Pmzd4ZUjPqFKv8dDZUhyGvM6dfJ6one0zTZ5Ym-WOfo6ySVdEK50oTz6oMMV1Kc_jltIzhXBbCG1awR2DSSM4k11EIDCGFkaxivQf6W9mFNdrY_jsS3m3XmeH269PdfHr138eM_mvLmwlnLCTsTdno9Hyek2qFctpU-S7chDZi2sKChQ_DznzHZSO24-ICG2uWda8SY_6qema4wbdHKDDtesxZaDlxkU8cbVEwjsoYhlmULyKuhBt2AaEzd8Mx2wKBkBeOcs0oUeQmMw1BCWQxaaWFIyXCW1uU7ztyHMbMxbtg1hRBV5qRCF4-SALzxgr0voTvwq22MpGTOxhQ_FJJN7mhWf0yIMxG3b0tExJmuPkarHNIZZx-u1KF82sOPuGCQCQ3V3mC2Bff3JTzMx30Pdv8_AwAA__8UPDeO">