Hi, Steve

> Add parser support for __cdecl, __stdcall, and __fastcall.
> Change preprocessor implementation of _cdecl to reference __cdecl.
This breaks at least mingw heavily. Why do you need to make __cdecl /
__stdcall / __fastcall to be keywords? At least in gcc they are
builtin defines, which are expanded to attributes like the follows
(excerpt from windef.h):

#ifdef __GNUC__
#ifndef _fastcall
#define _fastcall __attribute__((fastcall))
#endif
#ifndef __fastcall
#define __fastcall __attribute__((fastcall))
#endif
#ifndef _stdcall
#define _stdcall __attribute__((stdcall))
#endif
#ifndef __stdcall
#define __stdcall __attribute__((stdcall))
#endif
#ifndef _cdecl
#define _cdecl __attribute__((cdecl))
#endif
#ifndef __cdecl
#define __cdecl __attribute__((cdecl))
#endif
#ifndef __declspec
#define __declspec(e) __attribute__((e))
#endif
#ifndef _declspec
#define _declspec(e) __attribute__((e))
#endif
#endif

Currently we even have full support for sema checks for stdcall /
fastcall attributes (I'm going to add bunch of tests today). And will
have full sema support for dllimport /dllexport pretty soon.

Codegen for these attributes was already completed.

Thus I think these keywords are really bogus.
-- 
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to