brintos

brintos / llvm-project-archived public Read only

0
0
Text · 879 B · df258b0 Raw
36 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: no-threads10// UNSUPPORTED: c++03, c++11, c++14, c++1711 12// <latch>13 14// inline constexpr explicit latch(ptrdiff_t __expected);15 16// Make sure that the ctor of latch is constexpr and explicit.17 18#include <latch>19 20#include "test_convertible.h"21 22static_assert(!test_convertible<std::latch, std::ptrdiff_t>(), "This constructor must be explicit");23 24constexpr bool test() {25  std::latch l(5);26  (void)l;27  return true;28}29 30int main(int, char**) {31  test();32  static_assert(test(), "");33 34  return 0;35}36