New libc++ LLVM Subproject

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

New libc++ LLVM Subproject

Chris Lattner
Hi All,

LLVM now includes a C++ standard library, you can read about it here:
http://blog.llvm.org/2010/05/new-libc-c-standard-library.html

Or get the code here:
svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx

We'd like to keep the discussion and patches on the clang mailing lists.  Until/if the traffic gets too much, we'll split them out to their own list.

-Chris
_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: New libc++ LLVM Subproject

Chandler Carruth
I see this on the webpage:
  • Fast execution.
  • Minimal memory use.
  • Fast compile times.
Any early numbers?

On Tue, May 11, 2010 at 1:42 PM, Chris Lattner <[hidden email]> wrote:
Hi All,

LLVM now includes a C++ standard library, you can read about it here:
http://blog.llvm.org/2010/05/new-libc-c-standard-library.html

Or get the code here:
svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx

We'd like to keep the discussion and patches on the clang mailing lists.  Until/if the traffic gets too much, we'll split them out to their own list.

-Chris
_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev


_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: New libc++ LLVM Subproject

Howard Hinnant
On May 11, 2010, at 5:09 PM, Chandler Carruth wrote:

> I see this on the webpage:
> • Fast execution.
> • Minimal memory use.
> • Fast compile times.
> Any early numbers?

No sorry.  Most of my time has been spent on just getting the correctness tests in.  There are no performance tests in the test suite at this time.  I'd love to get some donated though. ;-)

-Howard


_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: New libc++ LLVM Subproject

Chandler Carruth
On Tue, May 11, 2010 at 2:38 PM, Howard Hinnant <[hidden email]> wrote:
On May 11, 2010, at 5:09 PM, Chandler Carruth wrote:
> I see this on the webpage:
>       • Fast execution.
>       • Minimal memory use.
>       • Fast compile times.
> Any early numbers?

No sorry.  Most of my time has been spent on just getting the correctness tests in.  There are no performance tests in the test suite at this time.  I'd love to get some donated though. ;-)

Speaking of test suites, any thoughts about using GoogleTest? Despite some of its crazier bits and pieces (hehe), the basics make for very nice unit tests. I can also contribute a lot of help with test runners etc for other build systems as I work on GoogleTest.

I'm also looking at adding performance testing to GoogleTest before too long so that might dovetail nicely.
 

-Howard


_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev


_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: New libc++ LLVM Subproject

Howard Hinnant
On May 11, 2010, at 5:44 PM, Chandler Carruth wrote:

> On Tue, May 11, 2010 at 2:38 PM, Howard Hinnant <[hidden email]> wrote:
> On May 11, 2010, at 5:09 PM, Chandler Carruth wrote:
> > I see this on the webpage:
> >       • Fast execution.
> >       • Minimal memory use.
> >       • Fast compile times.
> > Any early numbers?
>
> No sorry.  Most of my time has been spent on just getting the correctness tests in.  There are no performance tests in the test suite at this time.  I'd love to get some donated though. ;-)
>
> Speaking of test suites, any thoughts about using GoogleTest? Despite some of its crazier bits and pieces (hehe), the basics make for very nice unit tests. I can also contribute a lot of help with test runners etc for other build systems as I work on GoogleTest.
>
> I'm also looking at adding performance testing to GoogleTest before too long so that might dovetail nicely.

I haven't looked at GoogleTest. I'll look into it.

One of the things I like about the current test suite is its simplicity.  It consists of a single shell script 175 lines long.  That means if it isn't doing what one wants, it is easy to change it without too much trouble.  It is also set up to report "unimplemented sections."  That is, the test suite has a directory for every sub-section in the working draft.  If a directory doesn't have any tests, that sub-section is reported as unimplemented (as opposed to just being silently forgotten).

-Howard


_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: New libc++ LLVM Subproject

Chandler Carruth
On Tue, May 11, 2010 at 2:49 PM, Howard Hinnant <[hidden email]> wrote:
On May 11, 2010, at 5:44 PM, Chandler Carruth wrote:

> On Tue, May 11, 2010 at 2:38 PM, Howard Hinnant <[hidden email]> wrote:
> On May 11, 2010, at 5:09 PM, Chandler Carruth wrote:
> > I see this on the webpage:
> >       • Fast execution.
> >       • Minimal memory use.
> >       • Fast compile times.
> > Any early numbers?
>
> No sorry.  Most of my time has been spent on just getting the correctness tests in.  There are no performance tests in the test suite at this time.  I'd love to get some donated though. ;-)
>
> Speaking of test suites, any thoughts about using GoogleTest? Despite some of its crazier bits and pieces (hehe), the basics make for very nice unit tests. I can also contribute a lot of help with test runners etc for other build systems as I work on GoogleTest.
>
> I'm also looking at adding performance testing to GoogleTest before too long so that might dovetail nicely.

I haven't looked at GoogleTest. I'll look into it.

One of the things I like about the current test suite is its simplicity.  It consists of a single shell script 175 lines long.  That means if it isn't doing what one wants, it is easy to change it without too much trouble.

No complaints there, and frankly, that's almost exactly how GoogleTest works too -- every test is its own executable, standard unix ideas of success and failure for that executable. The nice parts of GoogleTest would be the reports that failed tests produce, etc; basically the code of the test. The only changes I could conceive up to the way tests are run is to get parallelism, but I'm not fond of complex text runners either.

It is also set up to report "unimplemented sections."  That is, the test suite has a directory for every sub-section in the working draft.  If a directory doesn't have any tests, that sub-section is reported as unimplemented (as opposed to just being silently forgotten).

That's awesome, and I'd not want to loose it either. (I had already seen this in svn, was excited about the idea.)


-Howard



_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: New libc++ LLVM Subproject

Ivan Sorokin
In reply to this post by Chris Lattner
On 12.05.2010 00:42, Chris Lattner wrote:
> LLVM now includes a C++ standard library, you can read about it here:
> http://blog.llvm.org/2010/05/new-libc-c-standard-library.html
>
>
>    

Why do you create new library? Why do not use libstdc++?
_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: New libc++ LLVM Subproject

Howard Hinnant
On May 11, 2010, at 5:59 PM, Ivan Sorokin wrote:

> Why do you create new library? Why do not use libstdc++?

I have a lot of respect for libstdc++ and for all of those who have worked on it over the years.  I've tried to build a better library.  Maybe I've succeeded, maybe I haven't (most likely I have in some places and not in others).  I do know that no parts would be better if I did not try.

I'll also openly state that this library has been targeted straight at Apple's platforms (for the benefit of Apple's customers).  That being said, most of the library is portable.  We feel that others may benefit from the generous open source license for this library.

-Howard


_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: New libc++ LLVM Subproject

Trevor Harmon-2
On May 11, 2010, at 3:05 PM, Howard Hinnant wrote:

> I'll also openly state that this library has been targeted straight  
> at Apple's platforms (for the benefit of Apple's customers).

What is it about Apple's platforms that requires a specialized C++  
library? Please elaborate, if you're allowed to.

Trevor

_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: New libc++ LLVM Subproject

Chris Lattner

On May 12, 2010, at 11:10 AM, Trevor Harmon wrote:

> On May 11, 2010, at 3:05 PM, Howard Hinnant wrote:
>
>> I'll also openly state that this library has been targeted straight  
>> at Apple's platforms (for the benefit of Apple's customers).
>
> What is it about Apple's platforms that requires a specialized C++  
> library? Please elaborate, if you're allowed to.

Nothing.  We still support libstdc++ 4.2.  Howard is just saying that the implementation to date has been focused on making it work on Apple platforms, without much concern so far for portability etc.

-Chris
_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev