Skip to content

Conversation

onionhammer
Copy link
Contributor

fd sets passed to select() were pruning ready FDs rather than pruning
UN-ready FDs.

fd sets passed to select() were pruning ready FDs rather than pruning
UN-ready FDs.
Araq added a commit that referenced this pull request Jan 19, 2014
Corrected prunesocketset and pruneprocessset
@Araq Araq merged commit 568ea12 into nim-lang:devel Jan 19, 2014
Araq added a commit that referenced this pull request Apr 7, 2014
Corrected prunesocketset and pruneprocessset
Clyybber pushed a commit to Clyybber/Nim that referenced this pull request Sep 16, 2023
## Summary

Fix literals resulting from folding range-check conversions having a
type that doesn't match the node kind. This, in turn, fixes a VM code
generator issue where the code generated for an access of the result of
an integer-literal-converted-to-float-range would cause the VM to crash.

## Details

The folding logic directly assigned the destination type to the literal,
which led to, for example, integer literals having a `tyFloat` type.
This breaks the assumption of only float-literal nodes having a float
type, and is what caused the `vmgen` bug (`vmgen` only looks at the node
kind).

Same as for normal conversion, range-check conversion are now also
folded via `foldConv` (but only in case the range check succeeds),
fixing the issue.
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.

2 participants