3 ms·
Well, I like the clang error messages better than gcc's, and I use recent versions. And to refer to the major architectural differences between the two as some
by cmccabe 13y ago
Well, I like the clang error messages better than gcc's, and I use recent versions. And to refer to the major architectural differences between the two as something that could be bridged by a single "patch" is a little silly.
gcc is still better at optimization, though. For now.
[edit: wow, people are really confused here. Guys, LLVM was designed from the start to have a clean separation between passes. You can compile some other language to the LLVM bytecode and then just use the code generator, for example. It even includes a JIT! In contrast, gcc is a huge monolith. The projects are written in different languages, too... C++ versus C.
tl;dr is that when you say that "the only difference is the license," you sound like someone saying "the only difference between Ruby and Java is the file extension." Pointy haired.]
- illumen 13y agogcc is in C++ for a while now. gcc has been becoming more modular over previous releases, and is becoming more modular in the future. For example, there are plugins since 2010. Your information is outdated, so it makes your opinion seem uninformed.
- cmccabe 13y agoMost of gcc is still written in C. Only a tiny amount of new code is in C++. In my opinion, that's the worst of both worlds-- inconsistent code, plus C++ overheads. I work with some fairly recent version of both compilers-- gcc 4.7.2 and clang 3.2. I also know a developer on the LLVM team. clang is way ahead of gcc in many ways, and the gcc devs know it. We still ship software built with gcc, rather than clang, because gcc is still better at optimization. (gcc also supports more obscure targets, though that's not our biggest concern). We also make use of llvm's ability to dynamically recompile code on the fly in Cloudera Impala. More information here: http://blog.cloudera.com/blog/2013/02/inside-cloudera-impala-runtime-code-generation/ http://blog.cloudera.com/blog/2013/02/inside-cloudera-impala... This would not be possible with gcc no matter how much work we did (license issues-- Impala is Apache 2.0, gcc is GPLv3).
- saurik 13y agoWhen a parse failure occurs, making an educated guess and continuing is not a "major architectural difference". (As for your edit, I now challenge you to tell us how these architecture passed and the JIT help FreeBSD's use cases. That said, my comment you are responding to just expresses bother about the "most notable" technical benefit listed by this SO answer, so I'm not even certain why you feel talking about other things is relevant.)