I am trying out Intel Parallel Inspector to look for data races in our C++ codebase. The tool identifies a number of false "races", most likely because it does not seem to understand the synchronization primitives. The code uses Boost C++ synchronization, specifically boost::mutex, boost::shared_lock, boost::unique_lock, and boost::upgrade_lock. It also has some custom rwlocks.
How can I specify the lock functions so Parallel Studio won't complain about data accesses that are correctly protected by the locks? I read something about ITT_NOTIFY() but I couldn't find any documentation or examples.