xref: /llvm-project/libcxx/test/support/test.support/make_string_header.pass.cpp (revision ba87515fea90b5d55836a8e3be63a7e683ce299d)
1e275e629SMark de Wever //===----------------------------------------------------------------------===//
26a54dfbfSLouis Dionne //
3e275e629SMark de Wever // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4e275e629SMark de Wever // See https://llvm.org/LICENSE.txt for license information.
5e275e629SMark de Wever // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6e275e629SMark de Wever //
7e275e629SMark de Wever //===----------------------------------------------------------------------===//
8e275e629SMark de Wever 
9e275e629SMark de Wever // UNSUPPORTED: c++03
10a7f9895cSLouis Dionne // UNSUPPORTED: no-localization
11e275e629SMark de Wever 
12e275e629SMark de Wever // "support/make_string.h"
13e275e629SMark de Wever 
14e275e629SMark de Wever #include "make_string.h"
15e275e629SMark de Wever #include <cassert>
16e275e629SMark de Wever 
17e275e629SMark de Wever #include "test_macros.h"
18e275e629SMark de Wever 
19e275e629SMark de Wever int main(int, char**) {
20e275e629SMark de Wever   // clang-format off
21e275e629SMark de Wever   assert(MAKE_STRING(char,
22e275e629SMark de Wever          " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"
23e275e629SMark de Wever              "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~")
24e275e629SMark de Wever     ==   " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"
25e275e629SMark de Wever              "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~");
26e275e629SMark de Wever 
27f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS
28e275e629SMark de Wever   assert(MAKE_STRING(wchar_t,
29e275e629SMark de Wever          " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"
30e275e629SMark de Wever              "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~")
31e275e629SMark de Wever     ==  L" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"
32e275e629SMark de Wever              "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~");
33f4c1258dSLouis Dionne #endif
34*ba87515fSNikolas Klauser #if _LIBCPP_HAS_CHAR8_T
35e275e629SMark de Wever   assert(MAKE_STRING(char8_t,
36e275e629SMark de Wever          " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"
37e275e629SMark de Wever              "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~")
38e275e629SMark de Wever     == u8" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"
39e275e629SMark de Wever              "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~");
40e275e629SMark de Wever #endif
41e275e629SMark de Wever   assert(MAKE_STRING(char16_t,
42e275e629SMark de Wever          " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"
43e275e629SMark de Wever              "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~")
44e275e629SMark de Wever     ==  u" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"
45e275e629SMark de Wever              "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~");
46e275e629SMark de Wever 
47e275e629SMark de Wever   assert(MAKE_STRING(char32_t,
48e275e629SMark de Wever          " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"
49e275e629SMark de Wever              "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~")
50e275e629SMark de Wever     ==  U" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN"
51e275e629SMark de Wever              "OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~");
52e275e629SMark de Wever 
53e275e629SMark de Wever   // clang-format on
54e275e629SMark de Wever   return 0;
55e275e629SMark de Wever }
56