------- Comment #10 from matz at gcc dot gnu dot org 2010-08-12 16:00 ------- Ahh, it's just so entertaining.
C99 is a language, cdecl a calling convention. There is no 'cdecl compiler', it makes no sense to speak about such a thing. cdecl is a calling convention for function written in all kinds of languages. If you chose to program in C (and you claim you do), then you have to work by the rules the relevant language standard imposes on you. It has been shown multiple times to you (and you even agree), that what you do is outside of C99. Countering this with "but it should still work, because 'cdecl' says so" is invalid reasoning, a calling convention can't override any limitation the language standard imposes. What you want to program in is not C99 (or any C whatsoever), but rather "Microsofts idea of what a language looking similar to C might look like"-C. GCC makes no claim to support such language. It supports C99, and it supports the cdecl calling convention. It does not support the language that you think is C, but isn't. It might be conceivable that somebody implements a new language frontend for GCC that would support the Microsoft language without name, as long as that isn't the case (and you yourself aren't interested in developing such frontend) the bug reports remain invalid. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45265