We already have llvm as a c++ monster(hundreds or thousands of MBytes on my mac), witch is modular, and have a more permissive license.
So you are going to risk the only advantages of gcc,(written in c and relatively small and stability), so you could copy the new kid on the block?
If you are going to copy them, copy the more permissive license. It will give commercial companies like Apple the option to improve your software like they do with llvm(Apple hired llvm creator).
I'm guessing he's referring to either the disk space needed to complete a build (~4GB on my machine) or the size of the generated binaries and libraries (304MB on my machine). In either case, I think your point holds that LLVM isn't substantially "larger" in any major sense of the word.
One confounding factor is backends. On one hand, GCC has a lot more of them, which contributes to a larger source base, but shouldn't be considered a disadvantage out of hand. On the other hand, LLVM builds all 13 of its backends into the binaries and libraries by default (compared to GCC's single-backend approach), which contributes to larger installed files but shouldn't be considered a disadvantage out of hand.
As a minor point of order, neither LLVM nor GCC include a linker; they both shell out to the system linker (often GNU ld from binutils). LLVM now has the equivalent of an assembler (direct object code emission) for those backends that support it, and the nascent lld ( https://github.com/chapuni/lld (warning: i couldn't find the webpage in www/ hosted anywhere, this is as close to something canonical as I could find) ) looks to be the beginnings of an LLVM-affiliated linker.
On OS X, you get clang and llvm-gcc in XCode 4.1, which is a solid 1.4 GB download. You're absolutely right about clang being pretty lightweight, so it's getting a bad wrap by association. I'm honestly not sure why XCode is so large: perhaps the IDE and iOS simulator?
Comments
Why?
We already have llvm as a c++ monster(hundreds or thousands of MBytes on my mac), witch is modular, and have a more permissive license.
So you are going to risk the only advantages of gcc,(written in c and relatively small and stability), so you could copy the new kid on the block?
If you are going to copy them, copy the more permissive license. It will give commercial companies like Apple the option to improve your software like they do with llvm(Apple hired llvm creator).
I think you might want to check your facts:
LLVM + Clang source code: 9.9MB + 6MB = C, C++ and Obj-C compiler and linker
GCC source = 69MB = just C compiler and linker
G++ source = 6.6MB = C++ additions to GCC
So I'm curious as to where you're getting the "hundreds or thousands of MBytes on my mac" from.
I'm guessing he's referring to either the disk space needed to complete a build (~4GB on my machine) or the size of the generated binaries and libraries (304MB on my machine). In either case, I think your point holds that LLVM isn't substantially "larger" in any major sense of the word.
One confounding factor is backends. On one hand, GCC has a lot more of them, which contributes to a larger source base, but shouldn't be considered a disadvantage out of hand. On the other hand, LLVM builds all 13 of its backends into the binaries and libraries by default (compared to GCC's single-backend approach), which contributes to larger installed files but shouldn't be considered a disadvantage out of hand.
As a minor point of order, neither LLVM nor GCC include a linker; they both shell out to the system linker (often GNU ld from binutils). LLVM now has the equivalent of an assembler (direct object code emission) for those backends that support it, and the nascent lld ( https://github.com/chapuni/lld (warning: i couldn't find the webpage in www/ hosted anywhere, this is as close to something canonical as I could find) ) looks to be the beginnings of an LLVM-affiliated linker.
On OS X, you get clang and llvm-gcc in XCode 4.1, which is a solid 1.4 GB download. You're absolutely right about clang being pretty lightweight, so it's getting a bad wrap by association. I'm honestly not sure why XCode is so large: perhaps the IDE and iOS simulator?
> a bad wrap
This is perfect; the actual idiom is 'bad rap' but this actually makes more sense in context. ;)
Minor nitpick : the linker (ld) is provided by binutils, not GCC.