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