Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucsd!nosc!helios.ee.lbl.gov!pasteur!agate!garnet.berkeley.edu!ked From: ked@garnet.berkeley.edu (Earl H. Kinmonth) Newsgroups: comp.sys.ibm.pc Subject: Re: Trouble compiling flip with TurboC 1.5 Message-ID: <26586@agate.BERKELEY.EDU> Date: 22 Jul 89 15:45:28 GMT References: <26514@agate.BERKELEY.EDU> <1105@unocss.UUCP> Sender: usenet@agate.BERKELEY.EDU Reply-To: ked@garnet.berkeley.edu (Earl H. Kinmonth) Organization: University of California, Berkeley Lines: 35 In article <1105@unocss.UUCP> ho@fergvax.unl.edu writes: >From article <26514@agate.BERKELEY.EDU>, by ked@garnet.berkeley.edu (Earl H. Kinmonth): >> of your problem; the rest is in the parameters. Beg, borrow, or steal >> TC 2.0. It's (almost) good! > >What would you consider a (not almost, but actually) good PC C compiler? One that allowed larger programs to be debugged. >I had TC 1.5. The only deviations I noticed from **IX were the maddening >ssignal(), and a few machine-specific things (replacing opendir/readdir >with findfirst/findnext, totally different ioctl, etc.) things that >most likely could not have been easily fixed. There is more than that. I spend hours writing a decent system() function that recognizes SHELL, COMSPEC, and the current setting of the switchar. utime() and a number of other **IX functions available in MSC were not and still are not part of the Turbo C library. getenv() and chdir() were buggy in the initial version as were a number of other routines. I almost forgot the biggest pisser of all, the inability of TC 2.0 to work with lines terminated only by line-feeds, and worse yet, the failure to detect this problem in many cases. (TC 1.0 actually worked in this case.) Before you respond that CR/LF is the MSDOS convention and TC is a MSDOS compiler, let me give you my rebuttal. First, LF lines did work in TC 1.0. Second, it takes MORE code to require the CR/LF than not to. Third, since a major selling point of C is portability, TC should not make moving code anymore difficult than is required by the underlying platform.