[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