Hi Jerker,

> It is simply a fact that these keywords are used in Microsoft, Intel and
> Borland compilers. Users may have to deal with them when compile GNU make.

Yes, they are used. Yet AFAIK, they don't _have_ to be used. Why would
users have to deal with them?

> Adding support for these are a minor effort and will not affect other
> compilers. 
> 
> To support calling conventions:
> #if !defined(__cdecl) && !defined(_MSC_VER) && !defined(__BORLANDC__)
> #define C_CALLBACK
> #else 
> #define C_CALLBACK __cdecl
> #endif
> 
> extern int C_CALLBACK alpha_compare PARAMS((const void *, const void *));
> int C_CALLBACK alpha_compare (const void *v1, const void *v2)
> { ...

The point with the PARAMS was that some compilers could not actually compile
without it.  As "vanilla" compilers are not being used, PARAMS becomes a
wreckage that someone sooner or lateer will remove.

It looks as if MSVC and Borland can compile perfectly well using the default
C calling conventions. If I understand your point correctly, the only reason
they would be needed is in case some user mindlessly adds, say, `/Gr' to the
command line when compiling GNU make. Perhaps a couple of lines in README.W32
to prevent such experiments may make sense: that accounts for less effort, in
coding, testing, and maintaining, than the solution you propose.


_______________________________________________
Make-w32 mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/make-w32

Reply via email to