<div dir="ltr">Sorry about that.  Looks like this got fixed in r<span style="font-family:arial,sans-serif;font-size:13px">209212</span></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, May 20, 2014 at 6:22 AM, Aaron Ballman <span dir="ltr"><<a href="mailto:aaron@aaronballman.com" target="_blank">aaron@aaronballman.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Your test is causing some build failures.<br>
<br>
<a href="http://bb.pgr.jp/builders/ninja-clang-i686-msc17-R/builds/8618" target="_blank">http://bb.pgr.jp/builders/ninja-clang-i686-msc17-R/builds/8618</a><br>
<br>
I can also reproduce locally. It looks like with the MSVC build, the<br>
implicit thiscall attribute is being printed out with the diagnostic.<br>
<span class="HOEnZb"><font color="#888888"><br>
~Aaron<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Tue, May 20, 2014 at 12:10 AM, Richard Trieu <<a href="mailto:rtrieu@google.com">rtrieu@google.com</a>> wrote:<br>
> Author: rtrieu<br>
> Date: Mon May 19 23:10:24 2014<br>
> New Revision: 209190<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=209190&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=209190&view=rev</a><br>
> Log:<br>
> Fix diagnostic message for member function pointer mismatches where one of the<br>
> classes is a template argument.<br>
><br>
> Modified:<br>
>     cfe/trunk/lib/Sema/SemaOverload.cpp<br>
>     cfe/trunk/test/SemaCXX/err_init_conversion_failed.cpp<br>
><br>
> Modified: cfe/trunk/lib/Sema/SemaOverload.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaOverload.cpp?rev=209190&r1=209189&r2=209190&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaOverload.cpp?rev=209190&r1=209189&r2=209190&view=diff</a><br>

> ==============================================================================<br>
> --- cfe/trunk/lib/Sema/SemaOverload.cpp (original)<br>
> +++ cfe/trunk/lib/Sema/SemaOverload.cpp Mon May 19 23:10:24 2014<br>
> @@ -2526,7 +2526,8 @@ void Sema::HandleFunctionTypeMismatch(Pa<br>
>    if (FromType->isMemberPointerType() && ToType->isMemberPointerType()) {<br>
>      const MemberPointerType *FromMember = FromType->getAs<MemberPointerType>(),<br>
>                              *ToMember = ToType->getAs<MemberPointerType>();<br>
> -    if (FromMember->getClass() != ToMember->getClass()) {<br>
> +    if (FromMember->getClass()->getCanonicalTypeInternal() !=<br>
> +        ToMember->getClass()->getCanonicalTypeInternal()) {<br>
>        PDiag << ft_different_class << QualType(ToMember->getClass(), 0)<br>
>              << QualType(FromMember->getClass(), 0);<br>
>        return;<br>
><br>
> Modified: cfe/trunk/test/SemaCXX/err_init_conversion_failed.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/err_init_conversion_failed.cpp?rev=209190&r1=209189&r2=209190&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/err_init_conversion_failed.cpp?rev=209190&r1=209189&r2=209190&view=diff</a><br>

> ==============================================================================<br>
> --- cfe/trunk/test/SemaCXX/err_init_conversion_failed.cpp (original)<br>
> +++ cfe/trunk/test/SemaCXX/err_init_conversion_failed.cpp Mon May 19 23:10:24 2014<br>
> @@ -43,3 +43,19 @@ void test14(const float2 in, const float<br>
>    const float4 V = (float4){ in, out };<br>
>    // expected-error@-1{{cannot initialize a compound literal initializer}}<br>
>  }<br>
> +<br>
> +namespace template_test {<br>
> +class S {<br>
> +public:<br>
> +   void foo(int);<br>
> +};<br>
> +<br>
> +template <class P> struct S2 {<br>
> +  void (P::*a)(const int &);<br>
> +};<br>
> +<br>
> +void test_15() {<br>
> +  S2<S> X = {&S::foo};<br>
> +  // expected-error@-1{{cannot initialize a member subobject of type 'void (template_test::S::*)(const int &)' with an rvalue of type 'void (template_test::S::*)(int)': type mismatch at 1st parameter ('const int &' vs 'int')}}<br>

> +}<br>
> +}<br>
><br>
><br>
> _______________________________________________<br>
> cfe-commits mailing list<br>
> <a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</div></div></blockquote></div><br></div>