Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!uunet!crdgw1!crdos1!davidsen From: davidsen@crdos1.crd.ge.COM (Wm E Davidsen Jr) Newsgroups: comp.unix.xenix Subject: Re: compiler diagnostics [was Re: comp.unix.xenix] Keywords: cc error messages in SCO UNIX System V/386 r3.2 Message-ID: <1783@crdos1.crd.ge.COM> Date: 27 Nov 89 17:34:41 GMT References: <529@s5.Morgan.COM> <69@van-bc.UUCP> <1989Nov25.204009.246@xenitec.on.ca> <1123@vector.Dallas.TX.US> <71@van-bc.UUCP> <1124@vector.Dallas.TX.US> <72@van-bc.UUCP> Organization: GE Corp R&D Center, Schenectady NY Lines: 72 Reply-exos:@crdgw1:To: davidsen@crdos1.crd.ge.com (bill davidsen) In article <72@van-bc.UUCP> jtc@van-bc.UUCP (J.T. Conklin) writes: | * Fix code generation errors/compiler bugs | | It took me two days to track down a code generation error | last week. Arggh... You've allready mentioned the infinate | spill bug. SCO has been quite good about fixing bugs *if I gave them a small example*. The infinite spill should have been fixed years ago. The standard text is "simplify teh expression." I got that even when the expression was "return 1". When I evaluated 386 UNIX versions, all of the pcc based compilers had a bug which caused the compiler to emit source which used registers the assembler (and CPU) didn't have. | | * Generate assembly output acceptable as input to the assmbler | | "-S ... It should be noted that this file is not suitable for | assembly. This option provides code for reading only." I'm not sure this is true anymore. I just tried a small program and it worked okay, and I have used -Fa (I think the same as -S) in the past to generate code to hand massage. I think it's a reluctance to guarantee that it will work all the time. I'm not sure how vital this is, I have only hand done one program in four years, and that was 11 instructions at the heart of a loop executed 600,000,000 times (yes really) which needed to play with the 387 stack. | | * Eliminate hard-coded limits. | | * yacc's and lex's tables should should resize themselves | automatically. Probably. Nice but not high priority. | | * linker should allocate segments automatically. As above. | | * enlarge compiler's 32 character identifier limit. Should match ANSI by default. There is -H to set length of extern names (I never tried it). | | * Fix compiler such that "cc -E" and "/lib/cpp" produce the | same output. yes. | | * Fix lint. That's a generic complaint will all C compilers, guy. | | * Improve dubugger support. Be speciffic. | | * Improve optimization. | | * function inlining? yes. | | * global register optimization? I give this one a "yes, but." It's a good idea, but doesn't produce a huge gain in performance (unless you write a program which deliberately induces bad behavior). Other global stuff can give more performance. -- bill davidsen (davidsen@crdos1.crd.GE.COM -or- uunet!crdgw1!crdos1!davidsen) "The world is filled with fools. They blindly follow their so-called 'reason' in the face of the church and common sense. Any fool can see that the world is flat!" - anon