brintos

brintos / llvm-project-archived public Read only

0
0
Text · 722 B · d674b9a Raw
33 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// UNSUPPORTED: c++0310 11// <mutex>12 13// template <class Mutex> class lock_guard;14 15// lock_guard(mutex_type& m, adopt_lock_t);16 17#include <mutex>18#include <cassert>19 20#include "types.h"21 22int main(int, char**) {23  MyMutex m;24  {25    m.lock();26    std::lock_guard<MyMutex> lg(m, std::adopt_lock);27    assert(m.locked);28  }29  assert(!m.locked);30 31  return 0;32}33