[PATCH] D44908: [ObjC++] Make parameter passing and function return compatible with ObjC

2018-03-28 Thread Akira Hatanaka via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL328731: [ObjC++] Make parameter passing and function return compatible with ObjC (authored by ahatanak, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit:

[PATCH] D44908: [ObjC++] Make parameter passing and function return compatible with ObjC

2018-03-28 Thread Akira Hatanaka via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC328731: [ObjC++] Make parameter passing and function return compatible with ObjC (authored by ahatanak, committed by ). Changed prior to commit: https://reviews.llvm.org/D44908?vs=139935=140137#toc

[PATCH] D44908: [ObjC++] Make parameter passing and function return compatible with ObjC

2018-03-27 Thread John McCall via Phabricator via cfe-commits
rjmccall accepted this revision. rjmccall added a comment. This revision is now accepted and ready to land. LGTM. Repository: rC Clang https://reviews.llvm.org/D44908 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D44908: [ObjC++] Make parameter passing and function return compatible with ObjC

2018-03-27 Thread Akira Hatanaka via Phabricator via cfe-commits
ahatanak updated this revision to Diff 139935. ahatanak added a comment. Make ClangABICompat a LangOption and remove ForcePassIndirectly. Move the logic in CodeGen that decides whether a parameter should be passed indirectly to Sema. Repository: rC Clang https://reviews.llvm.org/D44908

[PATCH] D44908: [ObjC++] Make parameter passing and function return compatible with ObjC

2018-03-26 Thread John McCall via Phabricator via cfe-commits
rjmccall added a comment. I think it's reasonable to pull that into LangOpts. It would need to be in LangOpts anyway if we e.g. fixed an ABI bug in struct layout and needed a compatibility handling to preserve the old behavior. Repository: rC Clang https://reviews.llvm.org/D44908

[PATCH] D44908: [ObjC++] Make parameter passing and function return compatible with ObjC

2018-03-26 Thread Akira Hatanaka via Phabricator via cfe-commits
ahatanak added a comment. I tried to move the code in MicrosoftCXXABI::getRecordArgABI and ItaniumCXXABI::passClassIndirect that determine whether a struct is passed indirectly to Sema::CheckCompletedCXXClass, but couldn't do so since getClangABICompat() is a method of CodeGenOpts, which Sema

[PATCH] D44908: [ObjC++] Make parameter passing and function return compatible with ObjC

2018-03-26 Thread Akira Hatanaka via Phabricator via cfe-commits
ahatanak created this revision. ahatanak added reviewers: rjmccall, doug.gregor, rsmith. r326307 and r327870 made changes that enable __strong and __weak fields to be declared in C structs. This patch changes the ObjC++ ABI so that structs with __strong or __weak pointers can be passed to or