Skip to content

Conversation

HertzDevil
Copy link
Contributor

@HertzDevil HertzDevil commented Feb 25, 2024

Fixes #14322 by adding the missing byval and sret LLVM call site attributes. This affects not just the AArch64 ABI, but the Windows x64 ABI too.

@HertzDevil HertzDevil added kind:bug A bug in the code. Does not apply to documentation, specs, etc. platform:windows Windows support based on the MSVC toolchain / Win32 API platform:aarch64 topic:compiler:codegen platform:x86 labels Feb 25, 2024
@HertzDevil HertzDevil changed the title Fix Proc#call that takes and returns large structs by value Fix Proc#call that takes and returns large extern structs by value Feb 26, 2024
@HertzDevil HertzDevil marked this pull request as draft February 26, 2024 04:08
@HertzDevil HertzDevil marked this pull request as ready for review February 26, 2024 15:01
@straight-shoota straight-shoota added this to the 1.12.0 milestone Feb 26, 2024
@straight-shoota straight-shoota merged commit e3eb178 into crystal-lang:master Feb 27, 2024
@HertzDevil HertzDevil deleted the bug/proc-call-param-byval branch February 29, 2024 11:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind:bug A bug in the code. Does not apply to documentation, specs, etc. platform:aarch64 platform:windows Windows support based on the MSVC toolchain / Win32 API platform:x86 topic:compiler:codegen

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

SIGBUS on AArch64 when Proc returns large extern struct by value

2 participants