-
Notifications
You must be signed in to change notification settings - Fork 71
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
Integrate dsymbol #673
Integrate dsymbol #673
Conversation
4e53157
to
2db9a00
Compare
ok so there is an issue: with LDC I removed all the custom allocators locally and replaced it all with GCAllocator, then it works properly. It seems there are double frees attempted, because of cyclic |
1f02366
to
83e03ea
Compare
given that there is a lot of code in DCD that isn't written with the memory lifetime in mind and that we aren't using anything from the compiler to help us, I would suggest to simply change all the memory allocations to GCAllocator, where I have passing tests locally. So with that reasoning in mind I'm simply going to push that in here and let's get that in to actually progress with development in other PRs as well. We should try to adopt |
9f8cb2a
to
1da7195
Compare
1da7195
to
32bfa2e
Compare
32bfa2e
to
e46b4e8
Compare
so merging this with the allocator changes to GCAllocator because the GC simply avoids the segfault issues for us and most allocators were already using GCAllocator (but still breaking somewhere somehow) If we can better enforce lifetime of things at compile time using DIP1000, attributes and templated types, we can incrementally bring back allocators to where they actually bring benefit. Otherwise this PR adds CI improvements, testing dsymbol as well as DCD and bumping the minimum required compiler version to what emsi_containers requires, so I think the remaining changes are pretty uncontroversial. Going to merge when tests are green. |
used code dlang-community/dsymbol@46873f0
fix #669
depends on #672