<br><br>On Friday, August 26, 2016, Nico Weber via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">thakis created this revision.<br>
thakis added a reviewer: hans.<br>
thakis added a subscriber: cfe-commits.<br>
<br>
Like <a href="https://reviews.llvm.org/D23807" target="_blank">https://reviews.llvm.org/<wbr>D23807</a>, but for execution-charset.<br>
<br>
<a href="https://reviews.llvm.org/D23938" target="_blank">https://reviews.llvm.org/<wbr>D23938</a><br>
<br>
Files:<br>
  include/clang/Driver/<wbr>CLCompatOptions.td<br>
  lib/Driver/Tools.cpp<br>
  test/Driver/cl-options.c<br>
<br>
Index: test/Driver/cl-options.c<br>
==============================<wbr>==============================<wbr>=======<br>
--- test/Driver/cl-options.c<br>
+++ test/Driver/cl-options.c<br>
@@ -184,6 +184,10 @@<br>
 // RUN: %clang_cl /source-charset:utf-16 -### -- %s 2>&1 | FileCheck -check-prefix=source-charset-<wbr>utf-16 %s<br>
 // source-charset-utf-16: invalid value 'utf-16'<br>
<br>
+// /execution-charset: should warn on everything except UTF-8.<br>
+// RUN: %clang_cl /execution-charset:utf-16 -### -- %s 2>&1 | FileCheck -check-prefix=execution-<wbr>charset-utf-16 %s<br>
+// execution-charset-utf-16: invalid value 'utf-16'<br>
+//<br>
 // RUN: %clang_cl /Umymacro -### -- %s 2>&1 | FileCheck -check-prefix=U %s<br>
 // RUN: %clang_cl /U mymacro -### -- %s 2>&1 | FileCheck -check-prefix=U %s<br>
 // U: "-U" "mymacro"<br>
@@ -289,6 +293,7 @@<br>
 // RUN:    /d2FastFail \<br>
 // RUN:    /d2Zi+ \<br>
 // RUN:    /errorReport:foo \<br>
+// RUN:    /execution-charset:utf-8 \<br>
 // RUN:    /FC \<br>
 // RUN:    /Fdfoo \<br>
 // RUN:    /FS \<br>
Index: lib/Driver/Tools.cpp<br>
==============================<wbr>==============================<wbr>=======<br>
--- lib/Driver/Tools.cpp<br>
+++ lib/Driver/Tools.cpp<br>
@@ -5843,7 +5843,7 @@<br>
   // -fexec_charset=UTF-8 is default. Reject others<br>
   if (Arg *execCharset = Args.getLastArg(options::OPT_<wbr>fexec_charset_EQ)) {<br>
     StringRef value = execCharset->getValue();<br>
-    if (value != "UTF-8")<br>
+    if (value.lower() != "UTF-8")</blockquote><div><br></div><div>Should that be "utf-8" instead?<span></span></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
       D.Diag(diag::err_drv_invalid_<wbr>value) << execCharset->getAsString(Args)<br>
                                           << value;<br>
   }<br>
Index: include/clang/Driver/<wbr>CLCompatOptions.td<br>
==============================<wbr>==============================<wbr>=======<br>
--- include/clang/Driver/<wbr>CLCompatOptions.td<br>
+++ include/clang/Driver/<wbr>CLCompatOptions.td<br>
@@ -122,6 +122,8 @@<br>
   Alias<show_includes>;<br>
 def _SLASH_source_charset : CLCompileJoined<"source-<wbr>charset:">,<br>
   HelpText<"Source encoding, supports only UTF-8">, Alias<finput_charset_EQ>;<br>
+def _SLASH_execution_charset : CLCompileJoined<"execution-<wbr>charset:">,<br>
+  HelpText<"Runtime encoding, supports only UTF-8">, Alias<fexec_charset_EQ>;<br>
 def _SLASH_std : CLCompileJoined<"std:">,<br>
   HelpText<"Language standard to compile for">;<br>
 def _SLASH_U : CLJoinedOrSeparate<"U">, HelpText<"Undefine macro">,<br>
<br>
<br>
</blockquote>