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

Add support for LLVM 8 #7987

Merged
merged 3 commits into from Jul 25, 2019

Conversation

@bcardiff
Copy link
Member

commented Jul 23, 2019

The IsLocalToUnit, IsDefinition, IsOptimized were always used with the same values and the API regarding them changed in llvm 8.0.

Update: Use DISubprogram::toSPFlags to keep functionality & LibLLVMExt API

t - 2 months before llvm 9.0 is released.

@RX14

RX14 approved these changes Jul 23, 2019

@bcardiff bcardiff force-pushed the ci/llvm8 branch from 7eb9d02 to b7aeca5 Jul 23, 2019

@bcardiff

This comment has been minimized.

Copy link
Member Author

commented Jul 23, 2019

I've found a better way to implement it via DISubprogram::toSPFlags 💯

@refi64

This comment has been minimized.

Copy link
Contributor

commented Jul 24, 2019

This is actually really sweet, I was working on a Crystal Flatpak SDK a few days ago, but the freedesktop sdk 19.08 beta only ships LLVM 8 so I couldn't use it yet.

Show resolved Hide resolved bin/ci Outdated

@bcardiff bcardiff force-pushed the ci/llvm8 branch from 4ee8ccf to c438dc2 Jul 24, 2019

@bcardiff bcardiff added this to the 0.30.0 milestone Jul 24, 2019

@bcardiff bcardiff merged commit 3b2bde6 into master Jul 25, 2019

18 checks passed

ci/circleci: check_format Your tests passed on CircleCI!
Details
ci/circleci: dist_artifacts Your tests passed on CircleCI!
Details
ci/circleci: dist_darwin Your tests passed on CircleCI!
Details
ci/circleci: dist_docker Your tests passed on CircleCI!
Details
ci/circleci: dist_docs Your tests passed on CircleCI!
Details
ci/circleci: dist_linux Your tests passed on CircleCI!
Details
ci/circleci: dist_linux32 Your tests passed on CircleCI!
Details
ci/circleci: dist_snap Your tests passed on CircleCI!
Details
ci/circleci: prepare_common Your tests passed on CircleCI!
Details
ci/circleci: prepare_maintenance Your tests passed on CircleCI!
Details
ci/circleci: publish_docker Your tests passed on CircleCI!
Details
ci/circleci: publish_snap Your tests passed on CircleCI!
Details
ci/circleci: test_darwin Your tests passed on CircleCI!
Details
ci/circleci: test_dist_linux_on_docker Your tests passed on CircleCI!
Details
ci/circleci: test_linux Your tests passed on CircleCI!
Details
ci/circleci: test_linux32 Your tests passed on CircleCI!
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details

@straight-shoota straight-shoota deleted the ci/llvm8 branch Jul 25, 2019

@anatol

This comment has been minimized.

Copy link
Contributor

commented Jul 25, 2019

Awesome, thank you for porting the codebase to LLVM8.

While we are here, is there any chance to prepare crystal for upcoming LLVM9? Like building the project with LLVM master and see if there are any API changes that can be fixed in advance, before LLVM9 becomes public.

@bcardiff

This comment has been minimized.

Copy link
Member Author

commented Jul 26, 2019

@anatol There could be preliminary support. Since LLVM 9 is not yet released and there might be pending changes I personally prefer to wait for a release. But definitely, PRs are welcome to have initial support for it if someone wants to tackle it earlier.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can’t perform that action at this time.