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

    <tr>
        <th>Summary</th>
        <td>
            Wrong source range for local/global declarations with unused/alias attribute.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang:frontend
      </td>
    </tr>

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

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

<pre>
    See https://godbolt.org/z/bG5cEzY4Y

```
struct TestType {
[[maybe_unused]] int unsafe_one[16]; // #1 good, it is fixed by https://github.com/llvm/llvm-project/commit/b3a6d434a7051d879718ef92a4fafd1697759aed
};

[[maybe_unused]] int unsafe_one[16]; // #2 bad

void func() {
[[maybe_unused]] int unsafe_one[16]; // #3 bad
}
```

The source range of the declaration should include the unused attribute. 

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysUs1q3DAQfprxRXSRZMtaH3zY7dZ9gAZKTkE_Y1utVgr6Sbt5-uLNhqa5lRYGbBjxzfencnZLQBxBHEGcGlXLGtO4xu_oQqOjvYxfEMlaymOG9gB8Aj4t0eroyy6mBfj0DHzSn4X59Hzf3QM9bNPT29BDLqmaQu4wl7vLIxKQx-3Fdu54VheNDzXUjBbECcSJuFBIDVnN-BADgjiyftu0R_JymwBvGVlitMA_EleIy2R2P9ESfXlP05W16p2JZ-CT90-vnw-PKX5DU4BPJp7PbvvRrept13ZKUsHsXg6S7XEeuOpmNVvWD1KKQaHdqMuNzk3ov8jgRCv7gvMUnSVzDQb4HvjwP0xqX9Hl6V0iQA93K5IcazJIkgoLkjiTsiKxaLxKqrgYSF5j9Za4YHy1eF2_kCCqlOR0LbgjQA-NHVs7tINqcGSyk3zo-0426yil6XvTGc6ZEb3pmdGUDXaWjBlBxdC4kVMuqGCC7hnt5E72PRu6trNWyUFhDx3Fs3J-t8W21a1xOVccWUcpp41XGn2-Vpdz41VYoD3MKYaCwQLnW6HTeI1c1yVDR73LJf9GK654HL-mGJY_7ZhjIj4a5bca-aiVf2tNJj9cWW9uAJ-Udyq_caWpyY9_3cWrtAx8uql7GvmvAAAA__-13xzG">