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
113257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// <regex>
123257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant
133257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// template <class charT> struct regex_traits;
143257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant
153257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// regex_traits();
163257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant
173257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant#include <regex>
18f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant#include <cassert>
193257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant
2083e2c4d877fe2d7793868b1c6a5d9525a7c4d431Marshall Clow#include "platform_support.h" // locale name macros
21c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant
223257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnantint main()
233257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant{
24f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant    {
25f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant        std::regex_traits<char> t1;
26f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant        assert(t1.getloc().name() == "C");
27f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant        std::regex_traits<wchar_t> t2;
28f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant        assert(t2.getloc().name() == "C");
29f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant    }
30f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant    {
31c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant        std::locale::global(std::locale(LOCALE_en_US_UTF_8));
32f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant        std::regex_traits<char> t1;
33c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant        assert(t1.getloc().name() == LOCALE_en_US_UTF_8);
34f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant        std::regex_traits<wchar_t> t2;
35c0d0cbad9ed434267a7af9531bdeeae52eb6d706Howard Hinnant        assert(t2.getloc().name() == LOCALE_en_US_UTF_8);
36f409d2f2fc3b8ee5d2af59ae83dae8b7cbba6135Howard Hinnant    }
373257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant}
38