https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68260
--- Comment #4 from Dmitry Vyukov <dvyukov at google dot com> --- Good point. I wonder if using -O2 fixes this. We tend to always use tsan with -O2 for performance reasons. Tsan already considerably slows down execution, and additional unnecessary memory accesses and non-inlined trivial function calls (which there can be zillions in "modern C++") with -O0 slow down execution even more.