13257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant//===----------------------------------------------------------------------===// 23257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// 33257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// The LLVM Compiler Infrastructure 43257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// 5b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// This file is dual licensed under the MIT and the University of Illinois Open 6b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// Source Licenses. See LICENSE.TXT for details. 73257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// 83257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant//===----------------------------------------------------------------------===// 93257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant 103257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// <regex> 113257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant 123257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// template <class charT> struct regex_traits; 133257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant 143257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// locale_type getloc()const; 153257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant 163257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant#include <regex> 17f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant#include <cassert> 183257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant 1983e2c4d877fe2d7793868b1c6a5d9525a7c4d431Marshall Clow#include "platform_support.h" // locale name macros 20c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant 213257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnantint main() 223257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant{ 23f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant { 24f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant std::regex_traits<char> t1; 25f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant assert(t1.getloc().name() == "C"); 26f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant std::regex_traits<wchar_t> t2; 27f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant assert(t2.getloc().name() == "C"); 28f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant } 29f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant { 30c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant std::locale::global(std::locale(LOCALE_en_US_UTF_8)); 31f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant std::regex_traits<char> t1; 32c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant assert(t1.getloc().name() == LOCALE_en_US_UTF_8); 33f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant std::regex_traits<wchar_t> t2; 34c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant assert(t2.getloc().name() == LOCALE_en_US_UTF_8); 35f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant } 363257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant} 37