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