MSVC on WoA64 includes isCXX14Aggregate in its definition. This is de-facto
specification on that platform, so match msvc's behaviour.
Fixes: https://bugs.llvm.org/show_bug.cgi?id=47611
Co-authored-by: Peter Waller <peter.waller@arm.com>
Differential D92751
[clang][aarch64] Precondition isHomogeneousAggregate on isCXX14Aggregate DavidTruby on Dec 7 2020, 3:17 AM. Authored by
Details MSVC on WoA64 includes isCXX14Aggregate in its definition. This is de-facto Fixes: https://bugs.llvm.org/show_bug.cgi?id=47611 Co-authored-by: Peter Waller <peter.waller@arm.com>
Diff Detail
Event TimelineComment Actions Thanks for the fix. At first, misunderstood, I expected that an aggregate containing non-aggregates should be returned indirectly, and that the fix would be in the C++ ABI codepath. However, I see that is not the case. An aggregate may contain non-aggregates, and MSVC will in fact return such a type directly in X0/X1.
Comment Actions Thank for the update, apologies for not providing these suggestions the first time.
Comment Actions Suggesting a few small tweaks. Otherwise LGTM when @rnk is happy.
Comment Actions lgtm, thanks
|
nit: I would group the new virtual method declaration after these two, since it also has to do with argument classification.