make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MS compiler 7.1 (Visual Studio .NET 7.1 and DDK 2003) issues withma


From: Alessandro Vesely
Subject: Re: MS compiler 7.1 (Visual Studio .NET 7.1 and DDK 2003) issues withmake 3.80
Date: Tue, 26 Apr 2005 14:02:45 +0200

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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]