See <meta http-equiv="content-type" content="text/html; charset=utf-8"><a href="http://llvm.org/bugs/show_bug.cgi?id=9548">http://llvm.org/bugs/show_bug.cgi?id=9548</a><div><br></div><div>When two different types has the same text representation in the same diagnostic message, print an a.k.a. after the type if the a.k.a. gives extra information about the type.</div>
<div><br></div><div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">class versa_string;</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "><br></span></div><div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "></span><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">typedef versa_string string;</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "><br></span></div><div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "></span><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">namespace std {template <typename T> class vector;}</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "><br></span></div><div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "></span><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">using std::vector;</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "><br></span></div><div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "></span><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">void f(vector<string> v);</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "><br></span></div><div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "></span><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">namespace std {</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "></span><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">class basic_string;</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "></span><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">typedef basic_string string;</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "></span><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">template <typename T> class vector {};</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "></span><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">void g() {</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "></span><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">  vector<string> v;</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "></span><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">  f(v);</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "></span><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">}</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">}</span></div><div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "><br>
</span></div><div><font class="Apple-style-span" face="monospace" size="3"><span class="Apple-style-span" style="white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;">Old message:</span></font></div>
<div><font class="Apple-style-span" face="monospace" size="3"><span class="Apple-style-span" style="white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;">----------------</span></font></div>
<div><font class="Apple-style-span" face="monospace" size="3"><span class="Apple-style-span" style="white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"></span></font><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">test.cc:15:3: error: no matching function for call to 'f'</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "></span><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">  f(&v);</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "></span><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">  ^</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "></span><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">test.cc:7:6: note: candidate function not viable: no known conversion from</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">      'vector<string>' to 'vector<string>' for 1st argument</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "></span><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">void f(vector<string> v);</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">     ^</span></div><div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "></span><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">1 error generated.</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "><br></span></div><div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">New message:</span></div>
<div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">---------------</span></div><div>
<font class="Apple-style-span" face="monospace" size="3"><span class="Apple-style-span" style="white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;">test.cc:15:3: error: no matching function for call to 'f'
  f(v);
  ^
test.cc:7:6: note: candidate function not viable: no known <meta http-equiv="content-type" content="text/html; charset=utf-8">conversion from
      'vector<string>' (aka 'std::vector<std::basic_string>') to
      'vector<string>' (aka 'std::vector<versa_string>') for 1st argument
void f(vector<string> v);
     ^
1 error generated.</span></font><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; ">
</span></div><div><span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "><br></span></div><div>
<span class="Apple-style-span" style="font-family: monospace; white-space: pre-wrap; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-size: medium; "><br></span></div>