Hi Anton,
I'm sure there's a solution.
I don't see any fundamental problem here (but I could easily be
missing something, since I'm not familiar with mingw).
Just because __cdecl is a keyword, doesn't mean it can't be defined.
Here is an example:
[steve-naroffs-imac-2:llvm/tools/clang] snaroff% cat anton.c
typedef int (__cdecl *tptr)();
[steve-naroffs-imac-2:llvm/tools/clang] snaroff% ../../Debug/bin/clang
anton.c
anton.c:1:14: error: expected identifier or '('
typedef int (__cdecl *tptr)();
^
anton.c:1:14: error: expected ')'
anton.c:1:13: note: to match this '('
typedef int (__cdecl *tptr)();
^
3 diagnostics generated.
[steve-naroffs-imac-2:llvm/tools/clang] snaroff% ../../Debug/bin/clang
anton.c -fms-extensions
[steve-naroffs-imac-2:llvm/tools/clang] snaroff% ../../Debug/bin/clang
anton.c -D__cdecl=
If you can educate me a bit more, I'm happy to help fix the mingw
build...
snaroff
On Dec 25, 2008, at 9:56 AM, Anton Korobeynikov wrote:
> Hi, Steve
>
>> This implementation allows them to pass through (so VC++ can see
>> them).
> How we will proceed with parsing stuff from mingw? Are we going to
> drop mingw compatibility? The stuff from mingw runtime relies heavily
> (as I already shown to you), that these are defines, not keywords.
>
> Another example (string.h from mingw's w32api):
> _CRTIMP char* __cdecl __MINGW_NOTHROW strcat (char*, const char*);
>
> Is there any support for codegen / sema of these keywords then?
>
> --
> 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