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 3 commits into from Sep 10, 2019


Copy link

commented Sep 10, 2019

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

bcardiff added 2 commits Aug 30, 2019
Include compiler-rt port by default
Reorganize files of compiler-rt and port specs
@bcardiff bcardiff force-pushed the bcardiff:feature/overflow branch from 184e83e to 85f8142 Sep 10, 2019
@bcardiff bcardiff merged commit ccd858c into crystal-lang:master Sep 10, 2019
6 checks passed
6 checks passed
ci/circleci: check_format Your tests passed on CircleCI!
ci/circleci: test_darwin Your tests passed on CircleCI!
ci/circleci: test_linux Your tests passed on CircleCI!
ci/circleci: test_linux32 Your tests passed on CircleCI!
ci/circleci: test_preview_mt Your tests passed on CircleCI!
continuous-integration/travis-ci/pr The Travis CI build passed
@bcardiff bcardiff added this to the 0.31.0 milestone Sep 10, 2019

This comment has been minimized.

Copy link

commented Sep 20, 2019

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

@bcardiff bcardiff deleted the bcardiff:feature/overflow branch Sep 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
3 participants
You can’t perform that action at this time.