Assertion should not work on exit from OpenMP teams construct where task team field can be different in thread structure and in team structure. Added check that a thread does not exit the teams.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
I am not an expert here and I'm not sure exactly how this works, but it seems to fix the problem.
One question though: The same assertion can be found throughout kmp_runtime.cpp, do other instances need this patching as well? E.g. line 2050, where there is a comment about a forthcoming patch that fixes the preconditions which spuriously make assertions to trigger.
runtime/src/kmp_runtime.cpp | ||
---|---|---|
2050–2051 ↗ | (On Diff #87420) | What about here? |
runtime/src/kmp_runtime.cpp | ||
---|---|---|
2050–2051 ↗ | (On Diff #87420) | This is a different problem related with inconsistent references to task team in thread and team structures. It was actually fixed by the commit r249711 (https://reviews.llvm.org/D13353). I will submit separate patch to re-enable this assertion. |