[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2021-05-17 Thread Xiangling Liao via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGe0921655b1ff: [AIX] Implement AIX special bitfield related alignment rules (authored by Xiangling_L). Changed prior to commit: https://reviews.llv

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2021-05-15 Thread Sean Fertile via Phabricator via cfe-commits
sfertile accepted this revision. sfertile added a comment. This revision is now accepted and ready to land. LGTM. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87029/new/ https://reviews.llvm.org/D87029 ___ cfe-commits mailing list cfe-commit

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2021-05-14 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 345530. Xiangling_L added a comment. Rebased on the latest master and updated the testcase accordingly; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87029/new/ https://reviews.llvm.org/D87029 Files: clang/lib/AST/RecordLayoutBuilder.cpp cl

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2021-02-17 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added a comment. ping. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87029/new/ https://reviews.llvm.org/D87029 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-12-01 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/test/Layout/aix-bitfield-alignment.cpp:1 +// RUN: %clang_cc1 -triple powerpc-ibm-aix-xcoff -fdump-record-layouts \ +// RUN: -fsyntax-only -faix-pragma-pack -x c++ %s | \ sfertile wrote: > I suggest we split

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-12-01 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 308648. Xiangling_L marked 3 inline comments as done. Xiangling_L added a comment. Split testcases; Simplified code; Don't need to respect attribute align within typedef when the alignment value is less than bitcontainer size; CHANGES SINCE LAST ACTION

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-10-09 Thread Sean Fertile via Phabricator via cfe-commits
sfertile added inline comments. Comment at: clang/lib/AST/RecordLayoutBuilder.cpp:1633 + +if (BTy) { + BuiltinType::Kind BTyKind = BTy->getKind(); When can BTy be null? Should this instead be an assert? Instead can we implement this without looking at t

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-10-08 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 296972. Xiangling_L marked an inline comment as done. Xiangling_L added a comment. Remove emit errors for oversized long long bitfield and related testcase; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87029/new/ https://reviews.llvm.org/D87029

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-10-07 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked an inline comment as done. Xiangling_L added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:16447 + +bool AIXBitfieldViolation = false; +if (const BuiltinType *BTy = FieldTy.getTypePtr()->getAs()) { sfertile wrote: > Xiangling

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-10-06 Thread Sean Fertile via Phabricator via cfe-commits
sfertile added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:16447 + +bool AIXBitfieldViolation = false; +if (const BuiltinType *BTy = FieldTy.getTypePtr()->getAs()) { Xiangling_L wrote: > sfertile wrote: > > Can this change can be split out i

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-10-06 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 296497. Xiangling_L marked 4 inline comments as done. Xiangling_L added a comment. - Fixed the bug of getting underlying type of enum; - Fixed the bug to respect align attribute; - Add more testcases; Repository: rG LLVM Github Monorepo CHANGES SINCE

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-10-05 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:16447 + +bool AIXBitfieldViolation = false; +if (const BuiltinType *BTy = FieldTy.getTypePtr()->getAs()) { sfertile wrote: > Can this change can be split out into its own patch? I

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-10-05 Thread Sean Fertile via Phabricator via cfe-commits
sfertile added inline comments. Comment at: clang/test/Layout/aix-bitfield-alignment.cpp:118 + +typedef __attribute__((aligned(32))) short mySHORT; +struct D { We should have a similar test for an overaligned long or long long. CHANGES SINCE LAST ACTION https

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-10-05 Thread Sean Fertile via Phabricator via cfe-commits
sfertile added inline comments. Comment at: clang/lib/AST/RecordLayoutBuilder.cpp:1643 + } else { +// Handle AIX oversized Long Long bitfield under 32 bit compile mode. +if (StorageUnitSize > 32 && I get different results for using a long lon

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-10-05 Thread Sean Fertile via Phabricator via cfe-commits
sfertile added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:16447 + +bool AIXBitfieldViolation = false; +if (const BuiltinType *BTy = FieldTy.getTypePtr()->getAs()) { Can this change can be split out into its own patch? If it can i would sugg

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-09-24 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 294157. Xiangling_L added a comment. Rebased on the NFC patch; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87029/new/ https://reviews.llvm.org/D87029 Files: clang/lib/AST/RecordLayoutBuilder.cpp clang/lib/Sema/SemaDecl.cpp clang/test/La

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-09-24 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L marked an inline comment as done. Xiangling_L added a comment. In D87029#2285398 , @jasonliu wrote: > I think it would help the review if we could put the NFC portion(e.g. > TypeSize -> StorageUnitSize) to a new patch, and give some rationale

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-09-21 Thread Jason Liu via Phabricator via cfe-commits
jasonliu added a comment. I think it would help the review if we could put the NFC portion(e.g. TypeSize -> StorageUnitSize) to a new patch, and give some rationale about the NFC change. Comment at: clang/lib/AST/RecordLayoutBuilder.cpp:624 /// a byte, but larger units are

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-09-17 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L updated this revision to Diff 292537. Xiangling_L added a comment. Rebased on the pragma/pack patch; Added packed related testcase for bitfield; CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87029/new/ https://reviews.llvm.org/D87029 Files: clang/lib/AST/RecordLayoutBuild

[PATCH] D87029: [AIX] Implement AIX special bitfield related alignment rules

2020-09-02 Thread Xiangling Liao via Phabricator via cfe-commits
Xiangling_L created this revision. Xiangling_L added reviewers: jasonliu, hubert.reinterpretcast. Herald added a project: clang. Herald added a subscriber: cfe-commits. Xiangling_L requested review of this revision. 1.[bool, char, short] bitfields have the same alignment as unsigned int 2.Adjust a