[qt/clang/llvm-project]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git repository change summary for qt/clang/llvm-project Pushed by mirror-service into branch 'upstream/users/adams381/cir-record-member-kind-type'. Changed from 0000000000000000000000000000000000000000 to 963e51ba1b0e371ceef43111d1388b3bf02b5812 Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository. This change contains the following new commits: Git commit 963e51ba1b0e371ceef43111d1388b3bf02b5812 by Adam Smith on 09/08/2026 at 16:35.. [CIR] Let a record type mark what each member holds A struct's `padded` bool only says that padding exists somewhere in the record. It cannot say which member, and it cannot tell compiler-inserted padding from storage the source declared that holds no ABI data, such as an unnamed bit-field unit. Those two need to differ, because padding is reusable tail padding and declared storage is not, so they give different data sizes. Give each member a mark instead: unmarked for source data, `pad`, or `empty`. A record is then empty for the ABI when no member holds data, which `allMembersNonData` reads off the type. This is the first of three PRs, and nothing populates the marks yet, so `padded` stays for now. Retiring it before CIRGen fills the marks in would make every struct claim it has no padding, and the x86_64 classifier would start counting padding arrays as data with no diagnostic. The CIRGen PR comes next, then the bool removal PR. Assisted-by: Cursor / claude-opus-5 https://invent.kde.org/qt/clang/llvm-project/-/commit/963e51ba1b0e371ceef43111d1388b3bf02b5812