[PATCH] fix MergeFunctionDecl implicit CC for static methods

Alexander Zinenko ftynse at gmail.com
Thu Feb 21 01:30:01 PST 2013


Could you, please, commit it?


On 21 February 2013 01:33, Rafael EspĂ­ndola <rafael.espindola at gmail.com>wrote:

> 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!
> >
> >
> >
> > _______________________________________________
> > cfe-commits mailing list
> > cfe-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130221/c57cb477/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: decl.patch
Type: application/octet-stream
Size: 5413 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130221/c57cb477/attachment.obj>


More information about the cfe-commits mailing list