<html>
<head>
<base href="https://llvm.org/bugs/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Incorrect encoding error only shows for wide chars"
href="https://llvm.org/bugs/show_bug.cgi?id=31869">31869</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Incorrect encoding error only shows for wide chars
</td>
</tr>
<tr>
<th>Product</th>
<td>clang
</td>
</tr>
<tr>
<th>Version</th>
<td>4.0
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Windows NT
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>C++
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedclangbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>jvapen@gmail.com
</td>
</tr>
<tr>
<th>CC</th>
<td>dgregor@apple.com, llvm-bugs@lists.llvm.org
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=17939" name="attach_17939" title="Reproduction">attachment 17939</a> <a href="attachment.cgi?id=17939&action=edit" title="Reproduction">[details]</a></span>
Reproduction
Found in clang-cl 4.0-rc1 while trying to compile MSVC codebase with clang.
In attachment, one can find 2 functions with the same content, once for
std::string, once for std::wstring.
The first one uses 'ä' while the second uses L'ä'.
The first one compiles, while the second doesn't. This second one gives:
'illegal character encoding in character literal'.
As these 2 statements are copy-paste, I, as a user, would expect either a
compilation error for both or for none.
On top of this, it would be nice if clang could also suggest how to rewrite
this character using its Unicode representation (\uffff or \Uffffffff).
See attachment for a reproduction</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>