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_utf1616// : 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_utf16<wchar_t> C;39 C c;40 assert(globalMemCounter.checkOutstandingNewEq(0));41 }42 {43 typedef std::codecvt_utf16<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