- User Since
- Oct 24 2016, 8:15 AM (291 w, 5 d)
Mar 30 2022
Mar 8 2022
Thanks for the updates Zarko. I think we are almost there.
Mar 2 2022
Feb 17 2022
Hey Zarko. I really like how we only issue the warning when the struct is used, however I think this is still overly broad because of where the incompatibility lies between xlc and clang. I believe the layout of the structures will be the same for both compilers, and globals of this type will have the same alignment restrictions. A function like void baz(int *); will be compatible between the 2 compilers since the argument is just a pointer. The difference occurs when passing the structure by value on the stack, where xlc doesn't align the struct to the expected alignment, and clang/llvm does. Since the incompatibility is in the calling convention only when the struct is passed byval, that should be the only time we emit the diagnostic.
Feb 15 2022
Feb 7 2022
Feb 1 2022
Jan 28 2022
Thanks Steven. LGTM.
Jan 27 2022
LGTM Wael. Sorry for taking so long to get to it.
rebase patch and update the testing.
Jan 25 2022
Jan 24 2022
Jan 21 2022
Rebase to trigger ci before committing, since I let this sit so long.
Jan 20 2022
Jan 17 2022
Jan 11 2022
Dec 22 2021
Dec 20 2021
- Fix if condition that broke the Debian buildbot.
- Remove 'Required: asserts' from the test as I've updated to use a pass that is run regardless of whether asserts are enabled or not.
- Remove some unintended formatting changes from the lit test.
Dec 8 2021
Dec 1 2021
Nov 29 2021
Nov 26 2021
Nice work Yousuf. Can you start by adding the context for the patch (for example if you used git diff or git show then adding -U9999 will give you 9999 lines of surrounding context in the diff), and running clang format on the patch?
Nov 10 2021
Rebased to trigger CI.
Oct 26 2021
For the 2 binary files being added, I think we should append xcoff- in the names.
Oct 21 2021
Rebase on https://reviews.llvm.org/D111359 and remove XFAIL from now passing tests.
Oct 19 2021
Sep 29 2021
Sep 24 2021
Sep 16 2021
LGTM, but since as you mentioned I originally wrote this I would fell better if @cebowleratibm reviewed and approved before committing as well.
Sep 15 2021
Sep 14 2021
I suggest we separate the clang change and testing into a standalone patch, and the llvm backend tests into a standalone patch which we can commit separately.
Aug 19 2021
Aug 18 2021
Aug 17 2021
Aug 7 2021
Add a couple more struct layouts to the testing to show cases diagnostic is not issued.
Aug 6 2021
Fixed diagnostic to only emit when there is a bitfield member.
Moved the diagnostic emission to Sema::ActOnTagFinishDefinition as suggested.
Aug 5 2021
LGTM, other then 1 small test update.
Good point Chris. The only difference in layout is related to bitfield members, so I have moved the warning to VerifyBitField as suggested.
Only emit diagnostic on bitfield members, which is the only difference in align(packed) behaviour XL and clang/xlclang.
- Fixed spelling mistake
- Check that VD is non-nulll earlier.
- added warning that the requested alignment is too small.
- renamed test
Aug 4 2021
Thanks Steven, LGTM.
Don't update the unpacked field align based on IsPacked.
Jul 30 2021
Fixed spelling and added a 'long long' zero width bitfield to the testing.
Jul 29 2021
Spelling and formatting fixes, and added coverage for the XCOFF object writing.
Jul 28 2021
Jul 27 2021
Jul 14 2021
LGTM, thanks for finding and fixing this MaskRay.
Jul 8 2021
Jun 30 2021
Jun 15 2021