Skip to content

Conversation

vtjnash
Copy link
Member

@vtjnash vtjnash commented Aug 19, 2025

Add a run_to_complete complement to shutdown, which does nearly the same operations, but does not cancel future / pending work. The distinction is often mainly academic, but split for clarity of intent of each caller.

Annotate each and every tests that assumes that any previously scheduled tasks have finished running with a call of run_to_completion before reading the variables written by those tasks. This more clearly emphasizes the expectations of each of these tests and makes them robust against data-races or changes to the default scheduler.

These should have no impact currently, but have been tested and shown to pass with a scheduler which defers all work (as if being run on a thread) until an explicit synchronization point "acquires" that state, demonstrating that this is each and every test that would be affected by changes to the default scheduler.

Add a `run_to_complete` complement to `shutdown`, which does nearly the
same operations, but does not cancel future / pending work. The
distinction is often mainly academic, but split for clarity of intent of
each caller.

Annotate each and every tests that assumes that any previously scheduled
tasks have finished running with a call of `run_to_completion` before
reading the variables written by those tasks. This more clearly
emphasizes the expectations of each of these tests and makes them robust
against data-races or changes to the default scheduler.

These should have no impact currently, but have been tested and shown to
pass with a scheduler which defers all work (as if being run on a
thread) until an explicit synchronization point "acquires" that state,
demonstrating that this is each and every test that would be affected by
changes to the default scheduler.
@vtjnash vtjnash requested a review from lhames August 19, 2025 14:56
@vtjnash
Copy link
Member Author

vtjnash commented Aug 26, 2025

I didn't touch anything related to the CI segfault during parsing, so that is not my fault.

2025-08-19T15:30:57.5623655Z # executed command: 'c:\_work\llvm-project\llvm-project\build\bin\clang.exe' -cc1 -internal-isystem 'C:\_work\llvm-project\llvm-project\build\lib\clang\22\include' -nostdsysteminc -fsyntax-only -std=c++17 -pedantic -verify 'C:\_work\llvm-project\llvm-project\clang\test\SemaCXX\cxx17-compat.cpp'

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.

1 participant