gccand clang are both known to be compiler drivers. As such, the gcc executable does not compile anything itself. Rather, it calls the compiler (cc1), assembler (as) and linker (ld) with the right flags as needed.
Is this setup true also for the Microsoft C compiler, cl.exe? Is there actually some other executable that does the compilation? I assume that at least the assembling and linking are done by separate executables, since I know that ml.exe (known as MASM) and link.exe exist as separate executables, so cl.exe probably calls them.
clangprocess simply callsclang. It does not need to be a separate binary, but there is a reason to run phases in separate processes, for a better error recovery. – SK-logic Mar 04 '14 at 21:20