Commit graph

10 commits

Author SHA1 Message Date
Martin Kinkelin
1fdf330346 Refactoring: Remove obsolete AttrBuilder wrapper
It was useful when we still supported older LLVM versions, but it's
obsolete now.
2019-03-31 19:18:56 +02:00
Martin Kinkelin
a133ffad56 MSVC: Port Rainer's upstream extern(C++) method ABI fixes
From https://github.com/dlang/dmd/pull/8330.
2018-06-19 20:13:02 +02:00
Martin Kinkelin
3ca43c51b8
Use IndirectByvalRewrite for non-POD args and extern(C++) on Posix (#2728)
Fixing one aspect of issue #2702; not tackling the different destruction
rules yet.
2018-06-19 20:09:35 +02:00
Martin Kinkelin
29d609d63d Refactoring: Introduce TargetABI::reverseExplicitParams() 2018-05-30 22:42:00 +02:00
Martin Kinkelin
92913d4c08 Store front-end D function type in IrFuncTy
As we do for IrFuncTyArg. We'll need access to the front-end linkage for
the Posix ABIs too in order to implement indirect-by-value passing of
non-PODs for `extern(C++)`.
2018-05-30 22:41:48 +02:00
Martin Kinkelin
8faab8b684 Refactoring: Add ABIRewrite::applyTo() for convenience
Allowing the ABIRewrite to adapt the IrFuncTyArg appropriately and
reducing code duplication.
2018-05-26 22:09:37 +02:00
Martin
1449f9295b PPC/PPC64: Reverse parameter order for extern(D) 2016-11-29 20:29:01 +01:00
Kai Nacke
5ae5fc1dbb PPC/PPC64: Fix ABI errors.
Issue #1652 seems to be caused by ABI errors in the bootstrap compiler.
This PR updates the PPC/PPC64 ABI to conform to clang/gcc output.
2016-11-29 20:13:26 +01:00
Martin
dd21a805ee Trim signature of method ABIRewrite::type() 2016-05-29 11:04:29 +02:00
Kai Nacke
c1c7846e74 Introduce new ABI class for PPC64LE.
The ABI for PPC/PPC64 big-endian is quite similar.
But the ABI for PPC64 little-endian is more like the ARM ABI.
2016-03-28 03:14:00 +02:00
Renamed from gen/abi-ppc64.cpp (Browse further)