1 2 //===----------------------------------------------------------------------===// 3 // 4 // The LLVM Compiler Infrastructure 5 // 6 // This file is dual licensed under the MIT and the University of Illinois Open 7 // Source Licenses. See LICENSE.TXT for details. 8 // 9 //===----------------------------------------------------------------------===// 10 // 11 // <string_view> feature macros 12 13 /* Constant Value 14 __cpp_lib_char8_t 201811L 15 __cpp_lib_string_view 201606L 16 17 */ 18 19 #include <string_view> 20 #include <cassert> 21 #include "test_macros.h" 22 23 int main() 24 { 25 // ensure that the macros that are supposed to be defined in <string_view> are defined. 26 27 #if TEST_STD_VER > 17 && defined(__cpp_char8_t) 28 # if !defined(__cpp_lib_char8_t) 29 LIBCPP_STATIC_ASSERT(false, "__cpp_lib_char8_t is not defined"); 30 # else 31 # if __cpp_lib_char8_t < 201811L 32 # error "__cpp_lib_char8_t has an invalid value" 33 # endif 34 # endif 35 #endif 36 37 /* 38 #if !defined(__cpp_lib_fooby) 39 # error "__cpp_lib_fooby is not defined" 40 #elif __cpp_lib_fooby < 201606L 41 # error "__cpp_lib_fooby has an invalid value" 42 #endif 43 */ 44 } 45