I had some experience with a C compiler written by the Oracle folk for VM/370. It had some interesting quirks. The most bizarre of which is that it didn’t follow the convention of sticking _ in front of symbols in the language in the assembler output. This led to some spectacular blowups when you named a global variable something like R15.