brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 45aaa2c 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// UNSUPPORTED: c++0310// UNSUPPORTED: no-localization11 12// "support/make_string.h"13 14#include "make_string.h"15#include <cassert>16 17#include "test_macros.h"18 19int main(int, char**) {20  // clang-format off21  assert(MAKE_STRING(char,22         " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"23             "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~")24    ==   " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"25             "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~");26 27#ifndef TEST_HAS_NO_WIDE_CHARACTERS28  assert(MAKE_STRING(wchar_t,29         " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"30             "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~")31    ==  L" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"32             "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~");33#endif34#if _LIBCPP_HAS_CHAR8_T35  assert(MAKE_STRING(char8_t,36         " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"37             "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~")38    == u8" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"39             "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~");40#endif41  assert(MAKE_STRING(char16_t,42         " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"43             "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~")44    ==  u" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"45             "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~");46 47  assert(MAKE_STRING(char32_t,48         " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"49             "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~")50    ==  U" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"51             "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~");52 53  // clang-format on54  return 0;55}56