summaryrefslogtreecommitdiff
path: root/gcc/c
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2020-04-19 09:54:25 +0200
committerIain Buclaw <ibuclaw@gdcproject.org>2020-04-19 09:54:25 +0200
commit8a9ce39f8bbb2ae0798bec0ed2051a5f10b21122 (patch)
treefc21a3367bf87c7264be4c8c3b30124fa1897449 /gcc/c
parent56d207dd4003765481fb89710159d63dad571f05 (diff)
d: Fix FAIL in gdc.dg/runnable.d on X32 targets (PR94609)
Patch fixes test failure seen on X32 where a nested struct was passed in registers, rather than via invisible reference. Now, all non-POD structs are passed by invisible reference, not just those with a user-defined copy constructor/destructor. gcc/d/ChangeLog: PR d/94609 * d-codegen.cc (argument_reference_p): Don't check TREE_ADDRESSABLE. (type_passed_as): Build reference type if TREE_ADDRESSABLE. * d-convert.cc (convert_for_argument): Build explicit TARGET_EXPR if needed for arguments passed by invisible reference. * types.cc (TypeVisitor::visit (TypeStruct *)): Mark all structs that are not POD as TREE_ADDRESSABLE.
Diffstat (limited to 'gcc/c')
0 files changed, 0 insertions, 0 deletions