dlong@sequoya.ucsd.edu (11/25/88)
I'm sorry that my last message had a carbon copy of itself at the
bottom. Anyway, I found out that the fix I claimed to have for sparc
does not work. Here is a simpler program to try if your machine
passes some args in registers. Change ARG_REGS to the number of
words passed in registers. On a sun4, it does not print "5 6".
--------------------------cut----------------
#define ARG_REGS 6
struct regs {
int x[ARG_REGS-1];
};
struct straddle {
int x, y;
};
int vss(struct regs, struct straddle);
/* 0 - 5|6 */
/* regs | stack */
main()
{
struct regs r;
struct straddle s;
s.x = 5;
s.y = 6;
vss(r, s);
}
int vss(struct regs r, struct straddle s)
{
printf("%d %d\n", s.x, s.y);
}
----------------------------
Dean Long
dlong%midgard@ucscc.ucsc.edu