<div dir="ltr">On Tue, Sep 10, 2013 at 12:45 PM, Rui Ueyama <span dir="ltr"><<a href="mailto:ruiu@google.com" target="_blank">ruiu@google.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Author: ruiu<br>
Date: Tue Sep 10 14:45:51 2013<br>
New Revision: 190423<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=190423&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=190423&view=rev</a><br>
Log:<br>
Add getenv() wrapper that works on multibyte environment variable.<br><br>
Modified: llvm/trunk/lib/Support/Windows/Windows.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Windows/Windows.h?rev=190423&r1=190422&r2=190423&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Windows/Windows.h?rev=190423&r1=190422&r2=190423&view=diff</a><br>

==============================================================================<br>
--- llvm/trunk/lib/Support/Windows/Windows.h (original)<br>
+++ llvm/trunk/lib/Support/Windows/Windows.h Tue Sep 10 14:45:51 2013<br>
@@ -24,13 +24,17 @@<br>
 #define _WIN32_IE    0x0600 // MinGW at it again.<br>
 #define WIN32_LEAN_AND_MEAN<br>
<br>
+#include "llvm/ADT/SmallVector.h"<br>
+#include "llvm/ADT/StringRef.h"<br>
 #include "llvm/Config/config.h" // Get build system configuration settings<br>
 #include "llvm/Support/Compiler.h"<br>
+#include "llvm/Support/system_error.h"<br>
 #include <windows.h><br>
 #include <wincrypt.h><br>
 #include <shlobj.h><br>
 #include <cassert><br>
 #include <string><br>
+#include <vector><br>
<br>
 inline bool MakeErrMsg(std::string* ErrMsg, const std::string& prefix) {<br>
   if (!ErrMsg)<br>
@@ -148,4 +152,13 @@ c_str(SmallVectorImpl<T> &str) {<br>
   str.pop_back();<br>
   return str.data();<br>
 }<br>
+<br>
+namespace sys {<br>
+namespace windows {<br>
+error_code UTF8ToUTF16(StringRef utf8,<br>
+                       SmallVectorImpl<wchar_t> &utf16);<br>
+error_code UTF16ToUTF8(const wchar_t *utf16, size_t utf16_len,<br>
+                       SmallVectorImpl<char> &utf8);<br>
+} // end namespace windows<br>
+} // end namespace sys<br>
 } // end namespace llvm.><br><br>We already have include/llvm/Support/ConvertUTF.h; we shouldn't need Windows-specific version.<br><br>-Eli <br></blockquote></div></div></div>