Indirectly because of issue #123 I had a GCC built version of this file for a long time. When I build it with clang it generates many errors. Like
Thread 3:
Conflicting load by thread 3 at 0x........ size 4
at 0x........: std::__1::__thread_specific_ptr<std::__1::__thread_struct>::set_pointer(std::__1::__thread_struct*) (include/c++/v1/thread:201)
by 0x........: void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, main::$_0> >(void*) (include/c++/v1/thread:286)
by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
Allocation context: BSS section of libc++.so.1
Conflicting load by thread 3 at 0x........ size 4
at 0x........: pthread_setspeci(within libpthread-?.?.so)
by 0x........: std::__1::__libcpp_tls_set(int, void*) (include/c++/v1/__threading_support:392)
by 0x........: std::__1::__thread_specific_ptr<std::__1::__thread_struct>::set_pointer(std::__1::__thread_struct*) (include/c++/v1/thread:201)
by 0x........: void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, main::$_0> >(void*) (include/c++/v1/thread:286)
by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
Allocation context: BSS section of libthr.so.3
Conflicting store by thread 3 at 0x........ size 8
at 0x........: memset (vg_replace_strmem.c:?)
by 0x........: (within libpthread-?.?.so)
by 0x........: (within libpthread-?.?.so)
by 0x........: pthread_setspeci(within libpthread-?.?.so)
by 0x........: std::__1::__libcpp_tls_set(int, void*) (include/c++/v1/__threading_support:392)
by 0x........: std::__1::__thread_specific_ptr<std::__1::__thread_struct>::set_pointer(std::__1::__thread_struct*) (include/c++/v1/thread:201)
by 0x........: void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, main::$_0> >(void*) (include/c++/v1/thread:286)
by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
by 0x........: (within libpthread-?.?.so)
Allocation context: unknown.
Indirectly because of issue #123 I had a GCC built version of this file for a long time. When I build it with clang it generates many errors. Like