6 ms·
You really shouldn't be using terms like "regular gcc" or "real gcc", they don't mean what you seem to think they do. GCC is a modular system specifically to pr
by nknight 15y ago
You really shouldn't be using terms like "regular gcc" or "real gcc", they don't mean what you seem to think they do. GCC is a modular system specifically to provide for things like LLVM-GCC. LLVM-GCC takes the same form as other GCC back-ends for other platforms. i386 has a GCC backend, ARM has a GCC backend, IA64, MIPS, SPARC... Which of these do you nominate to be "real gcc"?
The only measure by which llvm-gcc is not "real" is that it's not included in the core gcc distribution.
- pavlov 15y agoPoint taken. But when llvm-gcc doesn't compile the code that every other instance of gcc found on modern platforms does, it's hard to argue that it's the same thing. Edit -- the llvm-gcc project doesn't seem to share your opinion of the project as being "just another back-end". They certainly don't claim that it's fully compatible, only that it supports "many" features, "most" options, "a number of" extensions: "Being derived from the GNU Compiler Collection, llvm-gcc has many of gcc's features and accepts most of gcc's options. It handles a number of gcc's extensions to the C programming language." http://llvm.org/cmds/llvmgcc.html http://llvm.org/cmds/llvmgcc.html
- grandalf 15y agoIt's just a tradeoff. LVM offers certain benefits, at the expense of being completely full featured.
- nknight 15y agoThis is SOP for GCC backends. Not all platforms support all GCC features. And if you really think there aren't problems building the same code across the various official GCC backends, you're not paying attention. Ask the Linux kernel guys about GCC's code generation oddities.
- w0utert 15y ago"And if you really think there aren't problems building the same code across the various official GCC backends, you're not paying attention. Ask the Linux kernel guys about GCC's code generation oddities." You don't even have to go as far as kernel developers. From a 'write once, compile everywhere' perspective, GCC is actually pretty bad. I used to work at a company that built and deployed to somewhere in the neighborhood of 20 different *nix platforms, over 6 different hardware architectures, running various GCC versions. Working around version- or backend-specific GCC issues was almost a daily task, and it wasn't getting any better with later versions. It's not that GCC is 'bad', but it's not holy either, not by any stretch of imagination. There's a reason Apple decided to push clang as an alternative. I believe clang+LLVM will some day replace GCC on Linux and other platforms that use GCC as well.
- CJefferson 15y agoNo no, LLVM-GCC really isn't "real gcc". All the backends which gcc publish share huge amounts of code, in particular all the optimizations framework in the shape of the SSA representation and GIMPLE, support for generating debugging information via DRAWF. LLVM-GCC just takes the minimum amount of GCC and replaces the entire back-end.
- scrod 15y agoI'll install Apple's LLVM frontend when I can use it to generate ppc object code.
- sparky 15y agoLLVM has had a PowerPC backend for years http://llvm.org/docs/CodeGenerator.html#targetfeatures http://llvm.org/docs/CodeGenerator.html#targetfeatures . Do you mean something more specific?
- scrod 15y agoYes, I'm aware. It's Apple's LLVM that lacks PowerPC code generation: http://stackoverflow.com/questions/7137480/how-do-i-add-ppc-ppc64-support-back-to-xcode-4-2-under-lion http://stackoverflow.com/questions/7137480/how-do-i-add-ppc-... http://www.cocoabuilder.com/archive/xcode/299924-no-ppc-from-xcode-4.html http://www.cocoabuilder.com/archive/xcode/299924-no-ppc-from...
- nknight 15y agoNew tools lose support for obsolete platforms, film at 11? It's been 6 years. The world has moved on, and Apple no longer has any commercial interest in PowerPC. You really expect them to keep bothering with it?
- scrod 15y agoI'm not really concerned with Apple's financial interests. I'm concerned with their software tools and their demonstrated willingness to support the hardware they sell.