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

    <tr>
        <th>Summary</th>
        <td>
            Implement semantic check for privatization of statement function variables
        </td>
    </tr>

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

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

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

<pre>
    The [OpenMP standard](https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-5-2.pdf) (page 108,  Section 4.3) says that "Variables that appear in namelist statements, in variable format expressions, and in expressions for statement function definitions, must not be privatized."

This check was implemented in https://reviews.llvm.org/D93213. This has to be [reverted](https://reviews.llvm.org/D122650) due to some ordering issues.

This ticket is a reminder to re-implement this check.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxtUk1vnDAQ_TVwsUBgYtg9cEi7qpRD1UiJeh_wAG7Atmyz2_TXd8yyaaNEQvhjnt_Mmzedka_t84QsEV9-WNTfH5kPoCU4mYhTwg9TCNYn1X3Cv9F3uVxyQ7DF5saN8cJmvdEBdaDDamcD0tPuSpXdPz5kTxZ7NagegjI6ExnPrRwSfmREbmFEVhaHhH9l7An7CGF3eRXDHl49CxMEAvKf4BR0M-43YC2CY0ozDQvOyodYdcCF6vCRjCLn_QkbjFvoDf62Dr2nDBuCNEbUf7cR-I-GDau-1iNxUFqF28NlpWzaBNYhs06dSdcflDkVmRSnpLi__p8n5Vk_Yf_CLuCZWuy80eKW9X1THZ4VXnw-z-dlb-vpWPGyytlGMxFBMDEfmURgdETzmTufEZWc16KIDZUrRhpvFmTGSXRKj0x5v6LPP5QeVP-CgcIMmMNFacLH1w6zNy3kxU1knsq2ksfqCGlQYcb24Q3kcQFNdHs3YpNvbdtGgpnhs67f7PPp6ub2vc5RhWnt8t4sdIhi9yWzzvyiKaLjVRdtxF3dNOnUco5C1lLUnQCsG3kQZSFgKA_Un0GIJp2hw9m31GKy8jrj0VNynJZhBj1S_sFtwy5jRJxS1fKC86KqyrIuy6LIDw1gMxRE2xzrGkVyV5B8Nb9Zkrp2q7RbR0_BOLr__EqBJnHUiHsVL8qB7icaVQeLoXVPC2uYjGs_hNNNdbtJ_gssAEkU">