cc flag to prevent type conversi - (nf)
fuka at parsec.UUCP
fuka at parsec.UUCP
Mon Oct 24 12:49:32 AEST 1983
#R:umcp-cs:-313300:parsec:33500001:000:1238
parsec!fuka Oct 21 01:27:00 1983
Well, here's a shot at the solution after 20 minutes study:
For 4.1c, add the entry below to /usr/src/lib/pcc/table.c after
the rest of the entries which begin with OPFLOAT.
Be aware that (1) I haven't tested this on anything other than a couple of
variations on your program, and (2) this may change the results of programs
which use operations on 'floats'. Let me know if there is a better solution
in System III or System 5.
table.c:
/* 10/21/83 parsec!fuka: Insure that TFLOAT op TFLOAT will be done as double */
OPFLOAT, INAREG|INTAREG|FORCC,
SAREG|AWD, TFLOAT,
SAREG|AWD, TFLOAT,
2*NAREG|NASR, RESC1|RESCC,
" cvtfd AL,A1\n cvtfd AR,A2\n OD2 A2,A1\n",
If you want the assignment operators (e.g. +=) done in double-precision for
floats, change the second entry in table.c which begins with 'ASG OPFLOAT':
/* 10/21/83 parsec!fuka: force TFLOAT op= TFLOAT to be done as double */
ASG OPFLOAT, INAREG|FOREFF|FORCC,
SAREG|AWD, TFLOAT,
SAREG|AWD, TFLOAT,
/* old: 0, RLEFT|RESCC, */
/* new: */ 2*NAREG|NASL, RLEFT|RESCC,
/* old: " OF2 AR,AL\n", */
/* new: */ " cvtfd AR,A1\n cvtfd AL,A2\n OF2 A2,A1\n cvtdf A1,AL\n",
Kent Fuka
Parsec Scientific Computer Corp.
{allegra|ihnp4|uiucdcs}!parsec!fuka
More information about the Comp.bugs.4bsd.ucb-fixes
mailing list