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

Upgrade frontend & libs to v2.100.0+ #3970

Merged
merged 36 commits into from
May 16, 2022
Merged

Conversation

kinke
Copy link
Member

@kinke kinke commented Apr 26, 2022

No description provided.

This fixes a bunch of importC dmd-testsuite tests.
Fixes dmd-testsuite's compilable/test22929.c.
Fixes dmd-testsuite's compilable/test22955.c.
…r importC AST)

Fixing failing LDC assertions.
This fixes linker errors about a missing ModuleInfo section when
ldc_rt.dso.o is pulled in for BUILD_SHARED_LIBS=ON builds (with
implicit -link-defaultlib-shared).
@kinke
Copy link
Member Author

kinke commented May 2, 2022

The only remaining problem is a sanitizers/asan_fakestack_GC.d lit-test regression. core.thread wasn't touched; failing

assert(GC.stats.usedSize == initialSize);
might show a GC regression (the GC has been worked on).

Edit: Unlikely, as the test works fine without SupportSanitizers.

E.g., for v2.100.0:

libphobos2-ldc-shared.so ->
libphobos2-ldc-shared.so.100 ->
libphobos2-ldc-shared.so.100.0
@kinke kinke marked this pull request as ready for review May 7, 2022 10:27
@kinke
Copy link
Member Author

kinke commented May 12, 2022

@JohanEngelen: Can you be bothered to look at the test regression? It's of no priority to me, so I'd probably just disable it to move forward.

@kinke
Copy link
Member Author

kinke commented May 12, 2022

[That same test just failed in another PR: https://cirrus-ci.com/task/6100113155162112]

@JohanEngelen
Copy link
Member

JohanEngelen commented May 13, 2022

The only remaining problem is a sanitizers/asan_fakestack_GC.d lit-test regression. core.thread wasn't touched; failing

assert(GC.stats.usedSize == initialSize);

might show a GC regression (the GC has been worked on).
Edit: Unlikely, as the test works fine without SupportSanitizers.

The test_nulling_triggers_collection function can be removed.

void test_nulling_triggers_collection()

It is testing GC functionality (which is not required to collect unused memory), and not fakestack functionality (done by test_non_null_does_not_trigger_collection).

Edit: I added test_nulling_triggers_collection to verify the delta of null vs non-null. If test_non_null_does_not_trigger_collection passes, it could either be that fakestack is working correctly OR that GC just does not collect (hiding fakestack bug).

@kinke kinke changed the title Upgrade frontend & libs to early v2.100.0 Upgrade frontend & libs to v2.100.0+ May 15, 2022
@kinke
Copy link
Member Author

kinke commented May 15, 2022

The test_nulling_triggers_collection function can be removed. [...] It is testing GC functionality (which is not required to collect unused memory), and not fakestack functionality (done by test_non_null_does_not_trigger_collection).

Hmm, I still find it somewhat worrying that it now apparently never collects the unreferenced garbage anymore; no idea how the fakestack works, but is there a chance the nullified pointer is still non-nullified in some GC-scanned memory block? And would that be considered legal?

@kinke kinke merged commit 73e8414 into ldc-developers:master May 16, 2022
@kinke kinke deleted the merge-2.100 branch May 16, 2022 10:39
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