Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ccall: handle Union appearing as a field-type without crashing #46787

Merged
merged 1 commit into from
Sep 21, 2022

Conversation

vtjnash
Copy link
Sponsor Member

@vtjnash vtjnash commented Sep 15, 2022

We disallow union as the direct type, so perhaps we should disallow it as a field-type also, but since we do allow references in those cases typically, we will allow this also.

Also DRY the emit_global code, since it had bit-rotted relative to the usual code path through emit_globalref (and apparently could still be run though for handling the first argument to cfunction).

Fix #46786

We disallow union as the direct type, so perhaps we should disallow it
as a field-type also, but since we do allow references in those cases
typically, we will allow this also.

Also DRY the emit_global code, since it had bit-rotted relative to the
usual code path through emit_globalref (and apparently could still be
run though for handling the first argument to cfunction).

Fix #46786
@vtjnash vtjnash added the backport 1.8 Change should be backported to release-1.8 label Sep 15, 2022
@KristofferC KristofferC mentioned this pull request Sep 16, 2022
28 tasks
@vtjnash vtjnash merged commit ed01ee0 into master Sep 21, 2022
@vtjnash vtjnash deleted the jn/ccall-union branch September 21, 2022 11:27
@KristofferC KristofferC mentioned this pull request Sep 30, 2022
37 tasks
KristofferC pushed a commit that referenced this pull request Oct 27, 2022
We disallow union as the direct type, so perhaps we should disallow it
as a field-type also, but since we do allow references in those cases
typically, we will allow this also.

Also DRY the emit_global code, since it had bit-rotted relative to the
usual code path through emit_globalref (and apparently could still be
run though for handling the first argument to cfunction).

Fix #46786

(cherry picked from commit ed01ee0)
KristofferC pushed a commit that referenced this pull request Oct 28, 2022
We disallow union as the direct type, so perhaps we should disallow it
as a field-type also, but since we do allow references in those cases
typically, we will allow this also.

Also DRY the emit_global code, since it had bit-rotted relative to the
usual code path through emit_globalref (and apparently could still be
run though for handling the first argument to cfunction).

Fix #46786

(cherry picked from commit ed01ee0)
KristofferC pushed a commit that referenced this pull request Oct 28, 2022
We disallow union as the direct type, so perhaps we should disallow it
as a field-type also, but since we do allow references in those cases
typically, we will allow this also.

Also DRY the emit_global code, since it had bit-rotted relative to the
usual code path through emit_globalref (and apparently could still be
run though for handling the first argument to cfunction).

Fix #46786

(cherry picked from commit ed01ee0)
@KristofferC KristofferC removed the backport 1.8 Change should be backported to release-1.8 label Nov 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

@cfunction segfault
2 participants