Search code examples
gcccompiler-constructionclangllvm

Is LLVM/Clang bootstrapped/compiled by GCC?


There is a term that compiler bootstrapping which fundamentally means compiling a new compiler with old compiled compiler. For example, even GCC is firstly compiling by a little part of GCC and so forth.

So, the question, is LLVM/Clang bootstrapped/compiled by another compiler like GCC or written from scratch and if, basically how? I can see some traces of GCC in LLVM library intuitively but I couldn't find exact proper information about that.


Solution

  • No. LLVM can be compiled using any of a large number of compilers. When I cared about such things there were dozens of independent compilers. (Remember that only correctness matters — you can bootstrap using even the slowest compiler, that produces the slowest output and has shitty diagnostics.)

    This legend has a basis though: On many systems, LLVM asks GCC about how to invoke the system linker, which can be fiddly.