15a83710eSEric Fiselier //===----------------------------------------------------------------------===// 25a83710eSEric Fiselier // 357b08b09SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 457b08b09SChandler Carruth // See https://llvm.org/LICENSE.txt for license information. 557b08b09SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 65a83710eSEric Fiselier // 75a83710eSEric Fiselier //===----------------------------------------------------------------------===// 85a83710eSEric Fiselier 95a83710eSEric Fiselier // test default ctor 105a83710eSEric Fiselier 115a83710eSEric Fiselier #include <bitset> 125a83710eSEric Fiselier #include <cassert> 135a83710eSEric Fiselier 144efa1ad5SEric Fiselier #include "test_macros.h" 155a83710eSEric Fiselier 165a83710eSEric Fiselier template <std::size_t N> test_default_ctor()175a83710eSEric Fiseliervoid test_default_ctor() 185a83710eSEric Fiselier { 195a83710eSEric Fiselier { 204efa1ad5SEric Fiselier TEST_CONSTEXPR std::bitset<N> v1; 215a83710eSEric Fiselier assert(v1.size() == N); 22*c479e0c9SLouis Dionne for (std::size_t i = 0; i < v1.size(); ++i) 235a83710eSEric Fiselier assert(v1[i] == false); 245a83710eSEric Fiselier } 254efa1ad5SEric Fiselier #if TEST_STD_VER >= 11 264efa1ad5SEric Fiselier { 274efa1ad5SEric Fiselier constexpr std::bitset<N> v1; 284efa1ad5SEric Fiselier static_assert(v1.size() == N, ""); 295a83710eSEric Fiselier } 304efa1ad5SEric Fiselier #endif 314efa1ad5SEric Fiselier } 324efa1ad5SEric Fiselier 335a83710eSEric Fiselier main(int,char **)342df59c50SJF Bastienint main(int, char**) 355a83710eSEric Fiselier { 365a83710eSEric Fiselier test_default_ctor<0>(); 375a83710eSEric Fiselier test_default_ctor<1>(); 385a83710eSEric Fiselier test_default_ctor<31>(); 395a83710eSEric Fiselier test_default_ctor<32>(); 405a83710eSEric Fiselier test_default_ctor<33>(); 415a83710eSEric Fiselier test_default_ctor<63>(); 425a83710eSEric Fiselier test_default_ctor<64>(); 435a83710eSEric Fiselier test_default_ctor<65>(); 445a83710eSEric Fiselier test_default_ctor<1000>(); 452df59c50SJF Bastien 462df59c50SJF Bastien return 0; 475a83710eSEric Fiselier } 48