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

Enable overflow by default #8170

Merged
merged 3 commits into from
Sep 10, 2019
Merged

Conversation

bcardiff
Copy link
Member

This PR makes the overflow behavior active by default.

A temporal flag disable_overflow is added in case this change cause stopper issues. Expect to be removed in the near future.

Instead of linking to compiler-rt, the existing minimal port will be used. The specs of mulodi4 were ported also.

The mulodi4 implementation was moved to a compiler_rt directory. More compiler-rt functions might be ported if we aim for Int128 bit support across all targets. But that is a different story.

The ported mulodi4 is not always used (it depends on the architecture) but is always emitted. If the user wants to link an official compiler-rt, the skip_crystal_compiler_rt flag can be used. But I expect the port will be easier to use.

cc: @wontruefree
Ref: #7514, #8153, #7798

Include compiler-rt port by default
Reorganize files of compiler-rt and port specs
@bcardiff bcardiff merged commit ccd858c into crystal-lang:master Sep 10, 2019
@bcardiff bcardiff added this to the 0.31.0 milestone Sep 10, 2019
@jkthorne
Copy link
Contributor

Thanks for the CC. This broke my build and it was nice to find the reason why.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants