jarin added a comment. In D79308#2017348 <https://reviews.llvm.org/D79308#2017348>, @labath wrote:
> The test setup here seems unnecessarily complex. Wouldn't an inferior like > this work better? > > void thread1() { > pseudo_barrier_wait(g_barrier); // See other tests how this works. > g_foo = 0; // break_here > } > int main() { > pseudo_barrier_init(g_barrier1, 2); > std::thread t1(thread1); > pseudo_barrier_wait(g_barrier); > for (int i = 0; i<10000; ++i) g_bar = i; // empty loop to have something > to step over > t1.join(); > } > > > That way you always know only one thread will hit a breakpoint, and and you > can just pick the "other" thread as the target for stepping. Yeah, I considered something like that, but then I thought it would be better if the "other" thread only runs code that we completely control. In my patch, the "other" thread is guaranteed to be in thread_func after we hit the breakpoint. In your suggested inferior, it could be still in pseudo_barrier_wait. If you feel stepping in external code is safe, I am happy to rewrite the test to the simpler version. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79308/new/ https://reviews.llvm.org/D79308 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits