[comp.os.minix] 68000 C-Compiler, Patch 1

HBO043%DJUKFA11.BITNET@cunyvm.cuny.edu (Christoph van Wuellen) (03/28/90)

This patch makes the subtraction of two pointers yielding an int result.

begin 644 patch_01.Z
M'YV-*@*"&&,#!YDT<^B\*(,'CAP78Q)0J5,&1),P<D#(N $"1@X=,C[&H $Bz
M1HX<,!2T6#FPX,*&#R-.K'@QX\:.'V?, %FCY,F4 8,*':I"05 0.6[$8)$4y
M!PBA"D" 2"!5:ADX,4#T -%FS1<W;\B405'&S9>#=EB N+IT+1P9*79$G5K5x
M;8P6/LK0R0.GXE8Q=+ZP>>/FC%RI5*NRQ5MF3AH]?D'0.$RWJ@JP8K7:E=NBw
MLE0Z6#6; "V8L.&YB:6.(4PGC1N*E!/T09W&# @4H._ZV-M7Z]_ <-ZXIE-&v
M3@H0>U2R3+HT!PX;(%:N1%V7K>:N7\..+7LV35J[:J_"C5T=*V/>D0&7+DQ>u
ML?F\CB%KGJQ@A6<0+XK:3RU5!8@D;I1D0PMBI$$'5]JI-488"8% !QH5R=%8t
M'6P<2,<;(+# PAQHO"$''2>< ((892Q8QQQEU'??4R L88(4(,P11AYS.(A&s
M& <&-UQQ,=8!F!QAC-$:82#DD489;)!18Q@!#@>"A'-02(>*_#WU I5UU78;r
MAQX&]@8<0[IQ7'+[);!@0E]\B8();+$P&ASKG>$F:5Q^&!>5">0F&IT=?BC7q
M?G7UL18;*.*IYU9OQME>?YA%QM:B ['F&FRHS8:8EKB]AYYO(P(GG!O$&8><p
! G7Uo
 n
end

HBO043%DJUKFA11.BITNET@cunyvm.cuny.edu (Christoph van Wuellen) (04/10/90)

Well, I admit this is an error.
Internally, a declaration of ,,char'' as an argument is converted to
,,int''. It could remain ,,char'' and the address adjusted, but what
do you do with ,,float'' converted to ,,double''?

I will fix this for integral data types (char, short, int etc) such that
a ,,pea 9(a6)'' results.

Besides, you should take the casting of char to int in the argument into
account. Imagine a machine with totally different data types for char and
int. Perhaps one should never declare char, short or float arguments.

C.v.W.