<div dir="ltr">I think we need to relax the test cases.  MSVC usually prints the calling convention, and it's often useful information.<div><br></div><div>Maybe we can make the diagnostic text smaller by using the __thiscall, __cdecl, __stdcall, etc keywords when printing types with LangOpts.MicrosoftExt, but it will require moving the attribute from after the identifier to before, which is exciting.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Dec 10, 2013 at 4:20 PM, Hans Wennborg <span dir="ltr"><<a href="mailto:hans@chromium.org" target="_blank">hans@chromium.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Tue, Dec 10, 2013 at 3:57 PM, Reid Kleckner <<a href="mailto:rnk@google.com">rnk@google.com</a>> wrote:<br>

> On Tue, Dec 10, 2013 at 11:58 AM, Hans Wennborg <<a href="mailto:hans@chromium.org">hans@chromium.org</a>> wrote:<br>
>><br>
>> It would be nice if we could make the TypePrinter not print the<br>
>> calling convention if it's the default one for the ABI, but<br>
>> TypePrinter doesn't have a lot of context.. no Sema, no ASTContext :/<br>
><br>
><br>
> Does this patch fix any failures for you?  It doesn't fix that test case,<br>
> unfortunately.<br>
<br>
</div></div>Unfortunately, no, I still see the same failures. These are the<br>
TypePrinter related failures I see:<br>
<br>
    Clang :: CXX/class.access/p6.cpp<br>
    Clang :: CXX/expr/expr.const/p3-0x.cpp<br>
    Clang :: CXX/expr/expr.mptr.oper/p5.cpp<br>
    Clang :: CXX/expr/expr.mptr.oper/p6-0x.cpp<br>
    Clang :: CXX/expr/expr.unary/expr.unary.op/p4.cpp<br>
    Clang :: CXX/temp/temp.arg/temp.arg.nontype/p5.cpp<br>
    Clang :: SemaCXX/addr-of-overloaded-function.cpp<br>
    Clang :: SemaCXX/const-cast.cpp<br>
    Clang :: SemaCXX/cstyle-cast.cpp<br>
    Clang :: SemaCXX/functional-cast.cpp<br>
    Clang :: SemaCXX/reinterpret-cast.cpp<br>
    Clang :: SemaCXX/static-cast.cpp<br>
Printing thiscall attribute on member function pointer type.<br>
<br>
    Clang :: CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp<br>
    Clang :: SemaTemplate/explicit-instantiation.cpp<br>
    Clang :: SemaTemplate/instantiate-method.cpp<br>
    Clang :: SemaTemplate/temp_arg_nontype.cpp<br>
Printing thiscall attribute for function type after explicit<br>
specialization function match failure.<br>
<span class="HOEnZb"><font color="#888888"><br>
 - Hans<br>
</font></span></blockquote></div><br></div>