[M3devel] <*external winapi*> silently ignored on all platforms?

Jay jayk123 at hotmail.com
Mon Feb 11 11:13:09 CET 2008


I know this won't be popular but...
over in m3-db\odbc\src, there is POSIX and WIN32, and they are ALMOST identical.
The differences are
the UNUSED type SQLHWND is ADDRESS or HWNDThis should just be removed.
In Win32 all the <*external*> pragmas have WINAPI.
In Posix, they lack it.
For this and other reasons, I suggest that all CM3 frontends accept but silentlyignore the Win32/x86 calling conventions in <*external*> pragmas,similar to what the non-x86 Windows compilers do.
The other reasons would be the "FARPROC" warning that I already cleared up otherwise.
And anything else minor that comes up.
 
I know this won't be popular but I REALLY REALLY REALLY believe is the right thing.It is a small safe change that will allow a little more Modula-3 source portability.
A similar suggestion would be to change the default calling convention in Modula-3,it would very possibly reduce code size, but is very very very much a breakingchange so probably can never happen.Better probably would be to a) add a switch for this b) extend the .m3exportsor whatnot files to indicate what switch was used.
A "blanket pragma" might also be good, so that the various *.i3 files cansay just to assume __stdcall for the rest of the file instead of annotating each functions.
 - Jay
_________________________________________________________________
Need to know the score, the latest news, or you need your Hotmail®-get your "fix".
http://www.msnmobilefix.com/Default.aspx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20080211/65348ea6/attachment-0001.html>


More information about the M3devel mailing list