162f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow//===----------------------------------------------------------------------===// 262f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow// 362f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow// The LLVM Compiler Infrastructure 462f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow// 562f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow// This file is dual licensed under the MIT and the University of Illinois Open 662f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow// Source Licenses. See LICENSE.TXT for details. 762f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow// 862f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow//===----------------------------------------------------------------------===// 962f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow 1062f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow// <iomanip> 1162f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow 1262f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow// quoted 1362f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow 1462f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow#include <iomanip> 1562f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow#include <sstream> 1662f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow#include <string> 1762f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow#include <cassert> 1862f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow 1962f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow#if _LIBCPP_STD_VER > 11 2062f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow 2162f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clowvoid round_trip ( const char *p ) { 2262f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow std::wstringstream ss; 2362f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow ss << std::quoted(p); 2462f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow std::string s; 2562f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow ss >> std::quoted(s); 2662f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow } 2762f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow 2862f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow 2962f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow 3062f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clowint main() 3162f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow{ 3262f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow round_trip ( "Hi Mom" ); 3362f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow} 3462f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow#else 3562f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow#error 3662f34be0baf276c2b310db8bda0d358841ebab9aMarshall Clow#endif 37