// 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); | |
} |