compiler diagnostics [was Re: comp.unix.xenix]
Wm E Davidsen Jr
davidsen at crdos1.crd.ge.COM
Tue Nov 28 04:34:41 AEST 1989
In article <72 at van-bc.UUCP> jtc at 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 at 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
More information about the Comp.unix.xenix
mailing list