barry@bain3.UUCP (Barry Allebone) (11/15/90)
We are running a 9810 and have recently upgraded to OSx 5.0. Our application is a mixture of C and Pascal and uses Curses. Following the upgrade we could no longer rebuild our application. There turned out to be problems in Pascal C and Curses which are discussed here in order to save others the time I spent sorting things out. a) the new Pascal compiler dumped core on some of our .P files - this problem has gone to the USA and we have gone back to the previous version of the the Pascal system. b) using the Pascal construct: writeln(pfile, floatvar:width:places); hangs the executeable IF it is linked with the att curses library. This turned out to be caused by a text segment name _MAX defined in both /usr/lib/libcurses.a and /usr/lib/libpc.a (the Pascal intrinsics and i/o library). This name is defined in both old and new Pascal systems but is new in the att curses package. It has to do with support for colour terminals which we don't have so our work around is to explicitly mention libpc.a in the ld line prior to the curses library. There is no problem in the ucb universe since this version of curses has not been updated. c) the new version of the C compiler has changed the (implementation dependant) order of evaluation of sub-expressions so some grotty code no longer works viz: j = (--key * 9) + (key / 4) * 3; In the case where key starts at 4 this expression now sets j to 30 where it used to set it to 27. I know the code is off, but I didn't write it and forwarned is forarmed !!