3 ms·
GCC was intentionally designed to be hard to extend with proprietary extensions (there's an email from RMS somewhere explicitly stating that) Whereas llvm/clan
by craftkiller 8y ago
GCC was intentionally designed to be hard to extend with proprietary extensions (there's an email from RMS somewhere explicitly stating that)
Whereas llvm/clang was designed as a library to be open and extensible, which lead to a lot of tooling being built around it.
Unrelated to license, clang also has far better error messages than gcc.
- loeg 8y ago> clang also has far better error messages than gcc. This was true a number of years ago, but I believe GCC's diagnostics have gotten much better in response to competition and don't believe it to be true anymore (although my experience is with C code, not C++ — maybe Clang is better there). Another distinction is that GCC continues to hold a significant lead in producing accurate debuginfo, which is invaluable to me as a developer.
- lorenzhs 8y agoI think both compilers give good error messages (C++14 and C++17). Sometimes one is clearer, sometimes the other, so what I usually do if I can't immediately figure out what the compiler is complaining about is to try the other one and see if that clears things up or at least narrows it down a bit. Works surprisingly often :)