Linked by Thom Holwerda on Fri 5th Feb 2010 21:50 UTC, submitted by tyrione
General Development "Today, Clang completed its first complete self-host! We built all of LLVM and Clang with Clang (over 550k lines of C++ code). The resulting binaries passed all of Clang and LLVM's regression test suites, and the Clang-built Clang could then build all of LLVM and Clang again. The third-stage Clang was also fully-functional, completing the bootstrap."
Order by: Score:
Congratulations!
by AlexandreAM on Fri 5th Feb 2010 22:11 UTC
AlexandreAM
Member since:
2006-02-06

A HUGE, from the deepest of my geeky heart, CONGRATULATIONS for all CLang developers. You guys are doing an awesome, and important, work!

And, to top it up, a huge THANK YOU!

Reply Score: 13

Ht'soff
by darknexus on Fri 5th Feb 2010 23:16 UTC
darknexus
Member since:
2008-07-15

Congrats to the LLVM folks, that's a massive thing when a compiler can host itself perfectly. Awesome job! Those guys are a lot smarter than I'll ever be.

Reply Score: 3

Congratulations
by foldingstock on Fri 5th Feb 2010 23:39 UTC
foldingstock
Member since:
2008-10-30

This is awesome news. Good job to the Clang/LLVM team!

Reply Score: 1

This is awesome!
by Zifre on Fri 5th Feb 2010 23:50 UTC
Zifre
Member since:
2009-10-04

I have waited so long for this. It means that Clang finally has reasonable C++ support!

Now I really can't wait until I can compile the Linux kernel with it. That should be even easier, since it is just C, which has been supported quite well for a long time. (I think the problem is all the inline asm and other platform dependent stuff that basically only kernels ever use.)

Just imagine an entire Linux system compiled with Clang/LLVM...
It would take less than half the time as with GCC. Gentoo would actually be usable. ;)

Reply Score: 3

RE: This is awesome!
by phoenix on Sat 6th Feb 2010 00:18 UTC in reply to "This is awesome!"
phoenix Member since:
2005-07-11

Unless CLANG includes all the GCC extensions, then you won't be able to compile the Linux kernel for a while. The kernel devs use a lot of GCC extensions.

Reply Score: 4

RE[2]: This is awesome!
by FishB8 on Sat 6th Feb 2010 00:52 UTC in reply to "RE: This is awesome!"
FishB8 Member since:
2006-01-16

I kind of wonder what kind of effect using LLVM as a GCC plugin will have when 4.5 is released with the completed plug-in API. I assume those extensions will still be functional when LLVM runs as a plugin?

Reply Score: 2

RE[3]: This is awesome!
by SamuraiCrow on Sat 6th Feb 2010 16:34 UTC in reply to "RE[2]: This is awesome!"
SamuraiCrow Member since:
2005-11-19

I kind of wonder what kind of effect using LLVM as a GCC plugin will have when 4.5 is released with the completed plug-in API. I assume those extensions will still be functional when LLVM runs as a plugin?


Download the plugin version of LLVM and find out at http://dragonegg.llvm.org/ . Note: Dragonegg only works on POSIX systems so it won't work on Windows.

Reply Score: 2

Whatever they do..
by fithisux on Mon 8th Feb 2010 21:03 UTC in reply to "RE[2]: This is awesome!"
fithisux Member since:
2006-01-22

GNUstep + ObjC should be top priority.

Reply Score: 2

RE: Whatever they do..
by sakeniwefu on Tue 9th Feb 2010 06:27 UTC in reply to "Whatever they do.."
sakeniwefu Member since:
2008-02-26

Objective-C is already stable and mature, even for the GNU runtime. The only reason the compiler couldn't bootstrap until now is that the compiler was written in C++ that, while it scales better than C and is probably faster than ObjC for this kind of job, requires a complex compiler and libraries to compile at all.

As for GNUStep... Well, it hadn't much following back when it was created, it hasn't now. You can't force people to improve it.

Reply Score: 2

RE[2]: This is awesome!
by elanthis on Sat 6th Feb 2010 03:10 UTC in reply to "RE: This is awesome!"
elanthis Member since:
2007-02-17

It has support for a lot of them and work is obviously being done at a rapid pace to add support for the rest. You didn't have the foresight to think of compiling Linux before any Clang developer did, you know. ;)

There were a few LLVM features missing necessary to implement certain GCC extensions (and so Clang couldn't even try to implement them), but they are definitely being actively addressed.

Reply Score: 2

RE[2]: This is awesome!
by tyrione on Sat 6th Feb 2010 03:10 UTC in reply to "RE: This is awesome!"
tyrione Member since:
2005-11-21

Unless CLANG includes all the GCC extensions, then you won't be able to compile the Linux kernel for a while. The kernel devs use a lot of GCC extensions.


I have yet to test it myself:

http://lists.cs.uiuc.edu/pipermail/llvmdev/2010-February/029103.htm...

Reply Score: 2

RE[2]: This is awesome!
by fridder on Sat 6th Feb 2010 04:20 UTC in reply to "RE: This is awesome!"
fridder Member since:
2007-11-03

Hey Phoenix, you seem to be pretty up to date on the FreeBSD front, hear anything about how close they are to being able to compile with Clang?

Edited 2010-02-06 04:20 UTC

Reply Score: 2

Comment by kaiwai
by kaiwai on Sat 6th Feb 2010 04:17 UTC
kaiwai
Member since:
2005-07-06

There is a lot of work being done to get LLVM to the point where it can replace GCC within the *BSD's. Hopefully we'll start to see such a transition within the next couple of years as more components of the *BSD system are replaced with *BSD licensed technologies.

Hopefully there will also be a move to making LLVM the default compiler for Mac OS X in the not too distant future given that there will be better integration between XCode and the compiler so that more fruitful feedback can be given to the developer when something goes pear shaped.

Reply Score: 3

RE: Comment by kaiwai
by tyrione on Sat 6th Feb 2010 21:08 UTC in reply to "Comment by kaiwai"
tyrione Member since:
2005-11-21

There is a lot of work being done to get LLVM to the point where it can replace GCC within the *BSD's. Hopefully we'll start to see such a transition within the next couple of years as more components of the *BSD system are replaced with *BSD licensed technologies.

Hopefully there will also be a move to making LLVM the default compiler for Mac OS X in the not too distant future given that there will be better integration between XCode and the compiler so that more fruitful feedback can be given to the developer when something goes pear shaped.


Xcode was built with LLVM 2.6.

I'd expect with the release of LLVM 2.8 and Clang 1.2 or 2.0 [whatever they call it] that the move will be made, though GCC-4.5 obviously is supported via the DragonEgg project as a GCC-4.5-LLVM frontend.

LLVM 2.7 is already being tagged for an end of March release.

Edited 2010-02-06 21:09 UTC

Reply Score: 4

RE[2]: Comment by kaiwai
by kaiwai on Sun 7th Feb 2010 03:10 UTC in reply to "RE: Comment by kaiwai"
kaiwai Member since:
2005-07-06

Xcode was built with LLVM 2.6.


No - it was compiled using LLVM with a GCC front end - what I am talking about is a complete LLVM replacement for the GNU toolchain which is currently in development; not just LLVM but Clang and the GNU bintools replacement which is in development

I'd expect with the release of LLVM 2.8 and Clang 1.2 or 2.0 [whatever they call it] that the move will be made, though GCC-4.5 obviously is supported via the DragonEgg project as a GCC-4.5-LLVM frontend.

LLVM 2.7 is already being tagged for an end of March release.


I do hope that there is a push to move developers away from using GNU extensions in favour of using standards based C/C++ - if that means by default displaying big ugly messages that their code is crap and to re-write it in standard C/C++ then hopefully we'll see projects become more platform independent than the current situation of software in the open source world being solely written for Linux.

Edited 2010-02-07 03:11 UTC

Reply Score: 5

RE[3]: Comment by kaiwai
by MamiyaOtaru on Sun 7th Feb 2010 06:38 UTC in reply to "RE[2]: Comment by kaiwai"
MamiyaOtaru Member since:
2005-11-11

funny to think of OSS software moving away from GNU lockin. Extensions, what?

Reply Score: 3

RE[3]: Comment by kaiwai
by tyrione on Mon 8th Feb 2010 02:22 UTC in reply to "RE[2]: Comment by kaiwai"
tyrione Member since:
2005-11-21

"Xcode was built with LLVM 2.6.


No - it was compiled using LLVM with a GCC front end - what I am talking about is a complete LLVM replacement for the GNU toolchain which is currently in development; not just LLVM but Clang and the GNU bintools replacement which is in development

I'd expect with the release of LLVM 2.8 and Clang 1.2 or 2.0 [whatever they call it] that the move will be made, though GCC-4.5 obviously is supported via the DragonEgg project as a GCC-4.5-LLVM frontend.

LLVM 2.7 is already being tagged for an end of March release.


I do hope that there is a push to move developers away from using GNU extensions in favour of using standards based C/C++ - if that means by default displaying big ugly messages that their code is crap and to re-write it in standard C/C++ then hopefully we'll see projects become more platform independent than the current situation of software in the open source world being solely written for Linux.
"

http://llvm.org/Users.html

Xcode 3.2 (and later): Clang is now included as a production quality C and Objective-C compiler that is available for use in Xcode or from the command line. It supports X86-32/X86-64 and builds code 2-3x faster than GCC in "-O0 -g" mode. Many "developer tools" GUI apps were shipped built with Clang, including Xcode, Interface Builder, Automator, and several others.

Reply Score: 2

RE: Comment by kaiwai
by strcpy on Sun 7th Feb 2010 07:32 UTC in reply to "Comment by kaiwai"
strcpy Member since:
2009-05-20

Hopefully we'll start to see such a transition within the next couple of years as more components of the *BSD system are replaced with *BSD licensed technologies.


Well, there is not really that much "non-BSD" stuff in modern BSD systems. Gcc, linker and binutils, and groff. That's pretty much it. The last one is being replaced AFAIr and the first group presumably goes out if a new compiler is brought in full-time.

Reply Score: 3

tyrione
Member since:
2005-11-21

http://clang.llvm.org/cxx_status.html

February 5, 2010.

Some libraries (e.g., Boost.MPL) successfully build and pass regression tests, the majority still fail.

Reply Score: 2

More projects nearing clean compiles
by tyrione on Wed 10th Feb 2010 01:47 UTC
tyrione
Member since:
2005-11-21

http://clang.llvm.org/cxx_status.html

Cmake

Compiles, passes regression tests (debug build) February 9, 2010

Qt

Partially compiles; miscompilation of uic prevents complete compilation, qmake works, some small examples also. February 9, 2010 [Tracking bug: PR5881]

New additions: AST

Reply Score: 2