On May 3, 2020, at 4:26 PM, Clem Cole
<clemc(a)ccc.com> wrote:
Anyway back to compilers, Tru64 had a 'good enough' compiler based on the MIPS
code base to get us all going, but GEM's primary target was VMS since one of the
important features of GEM was the VAX->Alpha transpiler technology. VMS was still
heavily written in VAX Assembler at the time. Plus, It actually was a little hairy
because GEM had a new C/C++ front-end. So TLE's high order bit was VMS for the
Alphas. GEM for Tru64 was about 18 months later.
In the early days of Alpha, I was at DEC’s Cambridge Research Laboratory (directed then by
Vic Vyssotsky, having retired from Bell Labs). The lab had various connections to Alpha
projects, and we learned that there were (I think) 7 different C compilers running on the
early port of Ultrix. That number, I think, did not include the port of gcc that DEC was
funding outside the company.
Andy Payne, a recent hire at the lab, had been an intern in DEC’s semiconductor group,
where he had worked on randomized testing for hardware verification. With all the
compilers available, he decided to hack up a program to generate random small C programs
with computable expected outputs. His program then compiled the random code with each
compiler and tested the result. After finding a number of bugs this way, he got tired of
submitting the bug reports, and changed his program to write and submit the bug reports
automatically.
This caused a little bit of consternation with some of the compiler teams at first.
Eventually, this led to some collaboration with the DEC languages and tools team, and Bill
McKeeman published a paper that line of work in the Digital Technical Journal in 1998[1].
- Win
[1]
https://www.hpl.hp.com/hpjournal/dtj/vol10num1/vol10num1art9.pdf