mirror of
https://github.com/ldc-developers/ldc.git
synced 2025-05-02 16:11:08 +03:00
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.
This commit is contained in:
parent
f8880c6c38
commit
3ca43c51b8
15 changed files with 61 additions and 30 deletions
|
@ -170,7 +170,7 @@ llvm::FunctionType *DtoFunctionType(Type *type, IrFuncTy &irFty, Type *thistype,
|
|||
// ref/out
|
||||
attrs.addDereferenceable(loweredDType->size());
|
||||
} else {
|
||||
if (abi->passByVal(loweredDType)) {
|
||||
if (abi->passByVal(f, loweredDType)) {
|
||||
// LLVM ByVal parameters are pointers to a copy in the function
|
||||
// parameters stack. The caller needs to provide a pointer to the
|
||||
// original argument.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue