On 06/06/14 07:27, Dave Ohlsson wrote: > I posted yesterday a question to stackoverflow regarding problems I am > having with Helgrind/DRD and C++11 thread: > > http://stackoverflow.com/questions/24060626/cannot-get-helgrind-drd-work-with-c11-thread > > but got no answer.
I think the source code comments in the test program below answer your question. Bart. $ cat drd/tests/std_thread.cpp // Test whether no race conditions are reported on std::thread. Note: since // the implementation of std::thread uses the shared pointer implementation, // that implementation has to be annotated in order to avoid false positives. // See also http://gcc.gnu.org/onlinedocs/libstdc++/manual/debug.html for more // information. #include "../../drd/drd.h" #define _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(addr) \ ANNOTATE_HAPPENS_BEFORE(addr) #define _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(addr) \ ANNOTATE_HAPPENS_AFTER(addr) #define _GLIBCXX_EXTERN_TEMPLATE -1 #include <iostream> #include <thread> int main(int argc, char** argv) { std::thread t( []() { } ); t.join(); std::cerr << "Done.\n"; return 0; } ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech _______________________________________________ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users