// RUN: rm -rf %t
// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -fimplicit-module-maps \
// RUN: -I%S/Inputs/thread-safety -std=c++11 -Wthread-safety \
// RUN: -verify %s
//
// expected-no-diagnostics
#include "b.h"
#include "c.h"
bool g();
void X::f() {
m.lock();
if (g())
m.unlock();
else
unlock(*this);
}