[cfe-dev] what does __attribute__((__stdcall__)) really mean?

Philip Ashmore contact at philipashmore.com
Wed Oct 12 20:26:12 PDT 2011

Hi there.

I've got a library that uses the stdcall calling convention with some 
functions, but there are problems.

1. gcc doesn't like __attribute__((__stdcall__)) in some contexts and 
complains that "warning: ‘__stdcall__’ attribute ignored [-Wattributes]".

If I change this to __attribute__((ms_abi)) the warnings disappear.

clang doesn't warn about this, leading me to conclude that it can do 
this where gcc cannot.

Should I define a STDCALL macro and define it differently depending on 
the compiler?

What should I use if I want to create a library with one compiler that 
links to a program compiled with the other?

Philip Ashmore

More information about the cfe-dev mailing list