C ABI: Add C support for passing structs of floats to an extern function #5461
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently this does not handle returning these structs yet, because I'm not sure where in the Zig codebase this is handled.
Also while working on this, I found out that the code that detects which C ABI Class should be used is quite outdated (from 2014). Version 1.0 can be found here (Yes, official documents on a github wiki page lol).
Also, this looks like a bug. Its iterating but then only looking at the first field, same issue for the union case. Basically this code needs a refactor.
zig/src/analyze.cpp
Lines 7978 to 7979 in 2ae9e06
Related: #1481