blob: 11eca41de37a4d8ac97f9421c220d36ad025a90c [file] [log] [blame]
Howard Hinnant3257c982010-06-17 00:34:59 +00001//===----------------------------------------------------------------------===//
2//
3// The LLVM Compiler Infrastructure
4//
Howard Hinnantb64f8b02010-11-16 22:09:02 +00005// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
Howard Hinnant3257c982010-06-17 00:34:59 +00007//
8//===----------------------------------------------------------------------===//
9
10// <regex>
11
12// template <class charT> struct regex_traits;
13
14// locale_type imbue(locale_type l);
15
16#include <regex>
Howard Hinnantf409d2f2010-06-21 21:01:43 +000017#include <locale>
18#include <cassert>
Howard Hinnant3257c982010-06-17 00:34:59 +000019
Marshall Clow83e2c4d2013-01-05 03:21:01 +000020#include "platform_support.h" // locale name macros
Howard Hinnantc0d0cba2011-10-03 15:23:59 +000021
Howard Hinnant3257c982010-06-17 00:34:59 +000022int main()
23{
Howard Hinnantf409d2f2010-06-21 21:01:43 +000024 {
25 std::regex_traits<char> t;
Howard Hinnantc0d0cba2011-10-03 15:23:59 +000026 std::locale loc = t.imbue(std::locale(LOCALE_en_US_UTF_8));
Howard Hinnantf409d2f2010-06-21 21:01:43 +000027 assert(loc.name() == "C");
Howard Hinnantc0d0cba2011-10-03 15:23:59 +000028 assert(t.getloc().name() == LOCALE_en_US_UTF_8);
Howard Hinnantf409d2f2010-06-21 21:01:43 +000029 }
Howard Hinnant3257c982010-06-17 00:34:59 +000030}