GHC is still C-boostrap-able. That's literally the only reason why the C backend still exists:
> The C code generator is only supported when GHC is built in unregisterised mode, a mode where GHC produces 'portable' C code as output to facilitate porting GHC itself to a new platform.
GHC can compile GHC (or Haskell in general) to C, the main use case being bootstrapping GHC without cross-compilation, as the latter has historically been lacking:
> Support for cross-compilation works reasonably well in 7.8.1. Previous versions had various issues which are usually work-aroundable.
(7.8.1 was released in 2014, GHC itself is 25 years old)
> The C code generator is only supported when GHC is built in unregisterised mode, a mode where GHC produces 'portable' C code as output to facilitate porting GHC itself to a new platform.