13257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// -*- C++ -*- 20ce02245a96edc9d1b2d60653fc06e9941e6fd2aHoward Hinnant//===----------------------------------------------------------------------===// 33257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// 43257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// The LLVM Compiler Infrastructure 53257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// 6b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// This file is dual licensed under the MIT and the University of Illinois Open 7b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// Source Licenses. See LICENSE.TXT for details. 83257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// 93257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant//===----------------------------------------------------------------------===// 103257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant 11ee226c05af9e0187098f43fb71465a581487af9bDan Austin// REQUIRES: locale.en_US.UTF-8 12ee226c05af9e0187098f43fb71465a581487af9bDan Austin 133257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// <regex> 143257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant 153257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// template <class charT> struct regex_traits; 163257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant 173257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// regex_traits(); 183257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant 193257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant#include <regex> 20f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant#include <cassert> 213257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant 22ee226c05af9e0187098f43fb71465a581487af9bDan Austin#include "test_macros.h" 2383e2c4d877fe2d7793868b1c6a5d9525a7c4d431Marshall Clow#include "platform_support.h" // locale name macros 24c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant 253257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnantint main() 263257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant{ 27f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant { 28f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant std::regex_traits<char> t1; 29f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant assert(t1.getloc().name() == "C"); 30f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant std::regex_traits<wchar_t> t2; 31f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant assert(t2.getloc().name() == "C"); 32f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant } 33f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant { 34c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant std::locale::global(std::locale(LOCALE_en_US_UTF_8)); 35f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant std::regex_traits<char> t1; 36c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant assert(t1.getloc().name() == LOCALE_en_US_UTF_8); 37f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant std::regex_traits<wchar_t> t2; 38c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant assert(t2.getloc().name() == LOCALE_en_US_UTF_8); 39f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant } 403257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant} 41