3 ms·
Clang and LLVM take a library based approach. They're designed so that tools that need to work with C/C++/Objective-C can simply link Clang. GCC was never desi
by alextgordon 17y ago
Clang and LLVM take a library based approach. They're designed so that tools that need to work with C/C++/Objective-C can simply link Clang.
GCC was never designed to do this, and even if it were, it's under the GPL and not the LGPL, which makes it unsuitable for linking as a library in non-GPL'd code. In contrast LLVM/Clang has a BSD-like licence.
- protomyth 17y agoTo add, the use of the less restrictive license allows the creation of tools using clang like a library. For example, you can now use the same parser the compiler is using to do syntax highlighting or refactoring. This will allow both commercial / non-commercial interests to build tools that do interesting things without having to build a parallel infrastructure.