[M3devel] missed the memo? LINUXLIBC6 building WinBase?

Rodney M. Bates rodney_bates at lcwb.coop
Sat Nov 23 21:33:51 CET 2013



On 11/23/2013 05:13 AM, Jay K wrote:
> This is deliberate, and slightly useful, and the warnings shouldn't occur in the head,
> for several years now. Please upgrade more frequently.
>
>

I feel very strongly that the latest release compiler should always build the head.
We have all too few Modula-3 users anyway.  If we don''t have this ability,
then we become an exclusive club with unreasonable barriers to outsiders.
There is hardly a better way to keep the community shrinking.

I know it can be a pain to maintain compatibility, but we really must do it.
Until we get a new release with a compiler that won't choke on WINAPI, we
need to keep different versions of the source.

Actually, I thought I had removed all occurrences of this problem a few
months ago.  How did I miss this one?


> In particular:
>
>
>   - It is useful because "much" of the interfaces are describing types,
>     and types aren't just for function parameters, for functions that
>     aren't available, but they are used as part of files, and you can,
>     hypothetically, use them in your own functions (heck, you can
>     write a Win32-on-Posix compatibility layer and provide the functions..).
>
>
>     In particular, mklib uses these types and is fairly portable.
>     It might have endian/alignment problems though, esp. endian.
>
>
>     I do have a plan to get rid of mklib though...i was slow to realize it
>     because mklib exports too much and I wanted a replacement wthout that flaw,
>     but just matching it is adequate. The frontend/backends shall output
>     the .def files instead of mklib. And then the usual lib/ar/link can/should
>    make the libraries. If anyone wants to use LTCG  on NT with the C backend,
>    this is the way (or put everything in one source file via the backend, not a bad idea)..
>
>
>    - In the past 20 years or so, there is only one widely used
>     platform that made the mistake of having multiple calling conventions
>     and that is NT/x86. Not NT in general, but NT/x86 specifically.
>     I expect nobody will make this mistake again.
>     I'm not sure MIPSo32/MIPSn32 or ARM-mess count as the same mistake.
>     On NT/x86, the calling convention does not bifurcate the entire target
>     and force building everything multiple times, because you can sprinkle it around and
>     each "type" can call each "type". This is good and bad.
>     The other OS/processor combinations with multiple calling conventions
>     define it as multiple ABIs with I believe no offical interop (except at the
>     kernel level, for some of them).
>
>
>     Therefore, callling conventions can be safely ignored on all platforms except NT/x86.
>     Nobody will have any names to use here, overlapping the NT/x86 names or not.
>     If the day comes where I am wrong and some target has multiple conventions,
>    we should change the pragma to accept multiple. If the names overlap with NT/x86,
>    we would put platform qualifiers on them. Never again should we have the Win32 SQL.i3
>    and Posix SQL.i3 that are the same, except for calling convention. What a waste -- almost
>    the same, but for one little difference that could be handled another way, they go duplicated.
>   That pattern bugs me.
>
>
>    - Jay
>
>
>
>
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 --
> From: dragisha at m3w.org
> Date: Fri, 22 Nov 2013 23:55:23 +0100
> To: m3devel at elegosoft.com
> Subject: Re: [M3devel] missed the memo? LINUXLIBC6 building WinBase?
>
> Yes, it was in a memo. Sorry for disruption :).
>
> On 22 Nov 2013, at 23:31, Dragiša Durić <dragisha at m3w.org <mailto:dragisha at m3w.org>> wrote:
>
>     + ./scripts/do-pkg.sh buildship m3core libm3 tcp
>     /root/rpmbuild/BUILD/cm3/scripts/pkgmap.sh -c cm3 -build -DROOT='/root/rpmbuild/BUILD/cm3'   && cm3 -ship  -DROOT='/root/rpmbuild/BUILD/cm3'  m3core libm3 tc
>     === package m3-libs/m3core ===
>       +++ cm3 -build -DROOT='/root/rpmbuild/BUILD/cm3' $RARGS  && cm3 -ship $RARGS -DROOT='/root/rpmbuild/BUILD/cm3'  +++
>     --- building in LINUXLIBC6 ---
>
>     ignoring ../src/m3overrides
>
>     new source -> compiling WinBase.i3
>     "../src/win32/WinDef.i3", line 131: warning: unrecognized pragma (ignored) (WINAPI)
>     "../src/win32/WinDef.i3", line 132: warning: unrecognized pragma (ignored) (WINAPI)
>     "../src/win32/WinDef.i3", line 133: warning: unrecognized pragma (ignored) (WINAPI)
>     "../src/win32/WinBase.i3", line 198: warning: unrecognized pragma (ignored) (WINAPI)
>     "../src/win32/WinBase.i3", line 918: unsupported language or calling convention (WINAPI)
>     "../src/win32/WinBase.i3", line 921: unsupported language or calling convention (WINAPI)
>     "../src/win32/WinBase.i3", line 924: unsupported language or calling convention (WINAPI)
>     "../src/win32/WinBase.i3", line 927: unsupported language or calling convention (WINAPI)
>     "../src/win32/WinBase.i3", line 930: unsupported language or calling convention (WINAPI)
>     "../src/win32/WinBase.i3", line 933: unsupported language or calling convention (WINAPI)
>     "../src/win32/WinBase.i3", line 943: unsupported language or calling convention (WINAPI)
>     "../src/win32/WinBase.i3", line 949: unsupported language or calling convention (WINAPI)
>     "../src/win32/WinBase.i3", line 952: unsupported language or calling convention (WINAPI)
>     "../src/win32/WinBase.i3", line 955: unsupported language or calling convention (WINAPI)
>
>     --
>     Dragiša Durić
>     dragisha at m3w.org <mailto:dragisha at m3w.org>
>
>
>
>




More information about the M3devel mailing list