On 4/11/2018 5:47 PM, Paul Koning wrote:
  I haven't tried pcc, but supposedly that has been
ported to the PDP-10, so presumably it can be ported to an 18-bit machine too.
  
Well the original C mostly just and 8 bit bytes and 16 bit ints, with
floating point for good luck. Now who knows what it needs.
But the good (old) news is you still can get the original C compiler for
the 11.
  You could try gcc; creating a simple back end is not
all that hard.  And while it makes no attempt to support non-multiple-of-8-bit machines,
it can be forced to, after a fashion.  One time for grins I banged together a very
primitive CDC 6000 back end.  It wasn't correct but it wasn't horribly wrong...
 18 bit Unix, not sure about that one.  It was originally done on a PDP-7 but I think that
was before C and it's no longer around that I know of.  Still, older versions might be
somewhat portable. 
Disk I/O needs be word size aligned so I guess 16 bit unix (if you could
use it, curse you bell labs) could be ported providing you don't have
nasty tricks to 18 bit I/O.
 Does it have to be Unix?  For a simple character environment, Forth is nice and it's
very easy to port to pretty much any computer. 
Unix was the only thing I can think
of that is character I/O , device
drivers and on 16 bit cpu written
in a high level language.
          paul