[M3commit] CVS Update: cm3
Jay Krell
jkrell at elego.de
Thu Feb 26 17:16:05 CET 2009
CVSROOT: /usr/cvs
Changes by: jkrell at birch. 09/02/26 17:16:05
Modified files:
cm3/m3-sys/m3tests/src/: Test.i3 m3makefile
cm3/m3-sys/m3tests/src/p0/p001/: Main.m3 m3makefile
Added files:
cm3/m3-sys/m3tests/src/: TestC.c
Log message:
nice little test case to verify compilation of floating point constants
and correctness of Usysdep
I would really like to have this "run" in RTLinker but suspect that would be rejected.
Anywhere else, e.g. here, is kind of too late to be valuable, unless we manage
to get this into boot1.py, and very early in the list of modules that RTLinker
initializes.
This reveals some existing possible problems.
- arrays of odd number of float and/or double don't
match up between C and Modula-3; probably related to -mno-aligned-floats
- there are other mismatches here masked by inserting size_t padding
in particular I think cywin linger_t has 16 bit integers and there is
disagreement there. But I didn't look into it.
Luckily the interactions between C and Modula-3 are relatively rare /and/
relatively conservative and not very likely to hit these issues.
They do merit further attention though.
"Running this test case" is merely evaluation three efficient assertions
plus dedicating the constant static space to two structs (Modula-3
might run initialization code for its "const static" though?)
More information about the M3commit
mailing list