// This file is used from other tests. // RUN: true #include #include #include struct MyObject; typedef MyObject *MyObjectRef; extern "C" { void InitializeLibrary(); MyObject *ObjectCreate(); long ObjectRead(MyObject *); void ObjectWrite(MyObject *, long); void ObjectWriteAnother(MyObject *, long); } extern "C" void NonInstrumentedModule() { InitializeLibrary(); MyObjectRef ref = ObjectCreate(); std::thread t1([ref]{ ObjectWrite(ref, 42); }); std::thread t2([ref]{ ObjectWrite(ref, 43); }); t1.join(); t2.join(); }