Why doesn bind automatically recognize nonstandard functions?
Non-portable extensions, in general, should default to off to prevent vendor lock-in. Had the appropriate macros been defined automatically, you could have accidentally taken advantage of them without realizing that your code is, perhaps, no longer portable. In addition, some compilers have the option to make __stdcall (__fastcall) their default calling convention, in which case no separate support would be necessary.