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

    <tr>
        <th>Summary</th>
        <td>
            [libc] fix includes of src/__support/macros/config.h
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            good first issue,
            code-cleanup,
            libc
      </td>
    </tr>

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

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

<pre>
    A few of these are being cleaned up in #86554 so it's probably best for that to land first. But, I can see latent includes of src/__support/macros/config.h that look wrong, such as the one in libc/src/string/memory_utils/aarch64/inline_memcpy.h which has a comment that it includes that header for the definition of LIBC_INLINE.

LIBC_INLINE is defined in libc/src/__support/macros/attributes.h. As such libc/src/string/memory_utils/aarch64/inline_memcpy.h should include libc/src/__support/macros/attributes.h, not src/__support/macros/config.h and the corresponding cmake+bazel build rules fixed.

Probably there are other places too where a similar pattern is occurring and show be fixed up, too.

I suspect this is a fixup for 29f8e076bd427.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykVM2OpDYQfhpzKQ2iDUw3Bw7zk5ZaWq3yBi3bFG1njAu57HQmTx8ZepVdJYescgFk7O-vqqyY3S0gjqJ_Ff17pXKyFMfgzMeErLIPDiNXmqbP8QVmvAPNkCwygooIGl24gfGoAk6QV3ABhGxPz33fARO4JOSRYY2klfafoJETzBQhWZUgEXgVJphd5FTDa05CvsEFjArAiOBVwpDABePzhFyoORohz9cr53WlmIQ8L8pEYiHPhsLsbrXdsT3RB9wjhVvB5GwsKC7KgQIWmd7pArUDcoqu7DwvuFD8vObkfMFUKhr73Al5dsG7gNcFF7N-1hbu1hkLVjEoMLQsRehG7L4TvC1YVBPGh2uECWcXXHIUip8vl9e36-Xrl8vXX2rRvIvmZX9-tw6O90M4_UP3vwahUopO54Rc2xpeeHf_P_2ypeynb9Z-UkUpQaD0n6pXGqLkZChG5JXCtLXYoj5QyFet_kQPOjs_QcweGWb3B04_ZPfrt25LFuPep1Q-YfXKlKoQwX3_BewW51WEVaWEMZSsyZgcSzybFLZ0B407DeS1WElEPxBegDOvaEoHOC4YquzP61Z0OcwnbI7Peurksa6msZ2GdlAVjofj4dA1zXAYKjvOp17rbjLa9F0r5647tWruWiOH4di3-li5UTaya1rZy0Nzaof60BwOXd-qU9sPJzVr0TW4KOdr739faoq3yjFnHE_P_XGovNLoeZtzKW9Ej7GDbY-QUsg3IaWhCZ-2eS5WH4t7sWW5H-JYwJ90vrHoGu848d90ySW_3STbgf69hPCz01vl6Eeb0sqifRHyLOT55pLNuja0CHkuZI_X0xrpNzQFZjNRYDavfwUAAP__oUOfzg">