[PATCH] fix MergeFunctionDecl implicit CC for static methods

Rafael EspĂ­ndola rafael.espindola at gmail.com
Wed Feb 20 15:33:39 PST 2013


LGTM. Thanks!

On 20 February 2013 12:43, Alexander Zinenko <ftynse at gmail.com> wrote:
> clang -cc1 -cxx-abi microsoft -triple i686-pc-win32 as of now behaves as
> follows
>
> class A {
>  public:
>   static void foo();
> };
>
> void __cdecl A::foo() {}  // Error
> void __thiscall A::foo() {}  // OK
>
> __thiscall is invalid for non-instance methods, though. And __cdecl is an
> implicit default.
>
> The problem is in MergeFunctionDecl: New function decl doesn't have
> information about static storage duration yet, only the Old one, therefore
> wrong default CC is checked.
>
> The patch also adds a test for implicit calling convention compatibility in
> declarations.
>
> Please review!
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>



More information about the llvm-commits mailing list