[M3commit] CVS Update: cm3
Jay Krell
jkrell at elego.de
Sat Apr 20 19:56:41 CEST 2013
CVSROOT: /usr/cvs
Changes by: jkrell at birch. 13/04/20 19:56:41
Modified files:
cm3/m3-sys/m3back/src/: M3C.m3
Log message:
turn back on #line directives
prepare for passing structs by value:
VAR PassStructsByValue := FALSE;
VAR ReturnStructsByValue := FALSE; (* tied in with frontend/target)
make missing types in pop_struct an error now that frontend fixed
structs by value cause an interesting reversal,
my thinking is thus:
NOT by value, current scheme:
void Procedure(struct* uplevel)
{
struct
{
struct uplevel;
} frame = {*uplevel};
}
by value:
void Procedure(struct uplevel)
{
struct
{
struct* uplevel;
} frame = {&uplevel};
}
i.e. still have to "copy some value into frame struct"
but it changes from value to pointer
though, if the struct is size of a pointer or smaller,
we might as well copy the value
also prepare for returning structs by value, though frontend
doesn't seem setup for that
More information about the M3commit
mailing list