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!
decl.patch
Description: Binary data
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
