> On Feb 1, 2017, at 9:30 PM, Noel Chiappa <j...@mercury.lcs.mit.edu> wrote: > >> From: Paul Koning > >> Yes, GCC should do that correctly. ... Dealing with the output might be >> a nuisance ... You may need some post-processing to cast the output >> into the syntax that V6 "as" expects. > > Actually, dealing with the _input_ is going to be a PITA (so my suggestion > was, in retrospect, not really a plausible one). The problem is that V6 is > written in an early dialect of C, one which I am sure would cause GCC would > toss its cookies, if fed to it. > > Some things, like "a =+ b;" would be easy to fix; likewise "int a 1;" instead > of "int a = 1;". But the Unix kernel is shot through with places where are > int is used as a structure pointer, etc, without benefit of a cast (casts > weren't invented until later). And a lot of stuff like that.
Yes, that would be an interesting issue. One answer would be to write a new front end ("Old C"). That's probably more work than can easily be justified, though. paul