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

    <tr>
        <th>Summary</th>
        <td>
            release/15.x branch removed clang::Preprocessor::getPredefines()
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    Commit 6bbf51f3ed59ae37f0fec729f25af002111c9e74 removed the `getPredefines()` method.  It has been part of the public API for a long time, and is useful for tooling built against LLVM/Clang to inspect or update the builtin predefines.  In particular, CastXML uses it [here](https://github.com/CastXML/CastXML/blob/v0.4.5/src/RunClang.cxx#L202) for that purpose.

The method's removal seems unnecessary for the commit's stated purpose.  Can it be restored in 15.x, please?

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx9UtGKnTAQ_Zr4MlSSeNXrgw-3d7mwcBeWUkpfkzhq2mgkidvdv--o7ZZCKUgSk5lzzpwZ7bu39uqnySaotO5L0RfYlY3Cou55j6aWTS9L1XMuhRCmwfoEASf_gh2kEYFVfMD0HLDD3s4YmTwz2dAtTJhG3-UAjwlGFUEjzrCokMD3e-qyamcNXJ4fofcBFDg_D5DshExeQc0d2AhrxH51e0Dy3lmK0Kt1CdSg7BwT3O9fnpi8XZ3akj3Q5YKGSAKsS6cS7lx7jiX-d6GbsEOPNatTYeO8qpi-Pt030gjkCCs_jhiQlQ9U1pjSEllxITL6BpvGVefGTxv5kffXSTuvaXvh-Skv6RCDofXTOu9Kc_P6ymRxl1ySXUd5o0rkSVh8xJzxB8Yvx_qZ9B9mMlnHw33lICJO5M88o8EYVXj7hYJg9n7uwTGRA907LFCJ81aZRsKJyZMd5BiIMn_dDFgcqoisuB3MGbaiqkRTcSGKrGuLrikalSWbHLYBj2B527JBBzWb8X02zFbl5lZxoeFYgt9E-nDc_GNisjW49j8WO_fye_tAaN-oxfRrY1w3hFtZn85FNraVKGusq6riphGlPp96jueKS4XcSFHrzCmNLrbUWSbljD9gh6AzNTmzLfVD8nMhRFmUosiLqumMrJWpNT83nLMTx0lZl286ch-GLLS7JL0OkR6djSn-eVQx2mFG3OkIX63UxdCSVd13muRs52537T8Bi4YkXA">