brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 490fc75 Raw
56 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// default ctor10 11#include <bitset>12#include <cassert>13 14#include "test_macros.h"15 16template <std::size_t N>17TEST_CONSTEXPR_CXX23 void test_default_ctor()18{19    {20        TEST_CONSTEXPR std::bitset<N> v1;21        assert(v1.size() == N);22        for (std::size_t i = 0; i < v1.size(); ++i)23            assert(v1[i] == false);24    }25#if TEST_STD_VER >= 1126    {27        constexpr std::bitset<N> v1;28        static_assert(v1.size() == N, "");29    }30#endif31}32 33TEST_CONSTEXPR_CXX23 bool test() {34  test_default_ctor<0>();35  test_default_ctor<1>();36  test_default_ctor<31>();37  test_default_ctor<32>();38  test_default_ctor<33>();39  test_default_ctor<63>();40  test_default_ctor<64>();41  test_default_ctor<65>();42  test_default_ctor<1000>();43 44  return true;45}46 47int main(int, char**)48{49  test();50#if TEST_STD_VER > 2051  static_assert(test());52#endif53 54  return 0;55}56