1//===----------------------------------------------------------------------===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10// UNSUPPORTED: libcpp-has-no-threads
11// REQUIRES: thread-safety
12
13// <mutex>
14
15// MODULES_DEFINES: _LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS
16#define _LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS
17
18#include <mutex>
19
20std::mutex m;
21
22int main() {
23  m.lock();
24} // expected-error {{mutex 'm' is still held at the end of function}}
25