ddl@husc6.harvard.edu (Dan Lanciani) (06/24/89)
The compiler miscalculates the argument stack offset for far
_saveregs functions by two bytes. This is surprising since _saveregs
far pascal functions are the most likely definitions for OS/2
entry points and would presumably have been tested.
Repeat by:
_saveregs far
foo(a, b, c, d)
{
printf("%d %d %d %d\n", a, b, c, d);
}
main()
{
foo(1, 2, 3, 4);
}
Remove the _saveregs or the far and note the difference.
Dan Lanciani
ddl@harvard.*