brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · effd8d5 Raw
51 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// <codecvt>10 11// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS -D_LIBCPP_ENABLE_CXX26_REMOVED_CODECVT12 13// template <class Elem, unsigned long Maxcode = 0x10ffff,14//           codecvt_mode Mode = (codecvt_mode)0>15// class codecvt_utf816//     : public codecvt<Elem, char, mbstate_t>17// {18//     // unspecified19// };20 21// XFAIL: no-wide-characters22 23// Not a portable test24 25#include <codecvt>26#include <cstdlib>27#include <cassert>28 29#include "count_new.h"30 31#include "test_macros.h"32 33int main(int, char**)34{35    globalMemCounter.reset();36    assert(globalMemCounter.checkOutstandingNewEq(0));37    {38        typedef std::codecvt_utf8<wchar_t> C;39        C c;40        assert(globalMemCounter.checkOutstandingNewEq(0));41    }42    {43        typedef std::codecvt_utf8<wchar_t> C;44        std::locale loc(std::locale::classic(), new C);45        assert(globalMemCounter.checkOutstandingNewNotEq(0));46    }47    assert(globalMemCounter.checkOutstandingNewEq(0));48 49  return 0;50}51