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

    <tr>
        <th>Summary</th>
        <td>
            Attribute plugins are broken
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang:frontend,
            confirmed,
            clang:plugin
      </td>
    </tr>

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

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

<pre>
    The changes in https://github.com/llvm/llvm-project/commit/0faee97a924adec76d5c7cd680c289ced51e6b5a accidentally broke attribute plugins (for which we have no test coverage, so the author had no way to know that this breakage happened!).

The issue comes from the changes to ParsedAttr.cpp:
```
bool ParsedAttr::existsInTarget(const TargetInfo &Target) const {
  return getInfo().existsInTarget(Target) &&
 getInfo().spellingExistsInTarget(Target,
 getAttributeSpellingListIndex());
}
```
the call to `getAttributeSpellingListIndex()` is reaching an unreachable that is generated here: https://github.com/llvm/llvm-project/blob/89564f0b69ac935dc3b865e4d627f3a0610b4abd/clang/utils/TableGen/ClangAttrEmitter.cpp#L3637

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVFFv5CYQ_jX4ZdQVBhubBz_sJbdVpHuo1PyBMczaNCysACeXf1-x3ihXXSv1JGQbZuZjvm9mjDm7JRBNrP_C-scGt7LGNB0xxfAFvb9gaOZo36fnlcCsGBbK4AKspVwzk0cmTkycFlfWbT6YeGHi5P3rx-u3a4p_kSlMnEy8XFz94Gck0gNq0aElMyjbm8FYNXIjRm3I9i2puUdAY5ylUND7d5hTfCHAUpKbt0Jw9dviQgYmxnNM8LY6s8IbwYqvBCFCoVzAxFdKuBATD5AjlJVg5wcr2ur1hu9QIryE-AZlxQJldRnmRPiCSwW7XimQZaJlQh8Yf2T8uD-rHC7njcDEC2U4p3i5XfChUYnwB6ZM9lhKOpjrtYq1Ayh-X7ftHKP_wbW6ySN9d7nkp_CMaaHCxGhiyAX27VM4R2BCfRg17FY2fNkhARKVLQW4OzMx1vx_Av0EYELVtUf_MypfyXsXlq__Ff3wGXb8qM-f96BvLpenYOn7DlaXvCfJhsd_1eMmInpfFWSK_x9UxcFlSIRmdWEBDLCF2w5nT3thXYaFAiUsZGGlREwef72JZx9nJk6j7lV35rPSaLTsrZHzqHrqrBLDWSJXLZ87nG1te49hYeK0FeczE6fnmtLvFJg4PVRT5fb14kqhvUmE_CaVHHYpGjtJq6XGhqZW6VHpttVds05kiXir-77nstWDRKk09iMRjcQ7OTRuElzIlkvejlL33YHaFns8d6PUSlqrWcfpgs4fKsNDTEtz6-Zp4AMXjceZfL79E4TYKcjjOcVQKFgmRC26ECaGs0sX-uHk7rpPZz3uH5s03VSctyWzjvvaRZ-3Flc8Tcef5hoT7TMfmi356ZcrdWNTBb8R-jsAAP__lmWTQg">