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