No problem. I also just compiled it using the latest head of GCC 4.6 on Ubuntu as well, so that fix to make it work with GCC's nullptr turned out to work fine. Finally figured out how to get libc++ all compiled and linked together on OS X too (I was missing the libc++abi package that was pushed out the list a while back), so now I'm running the test suite, going to diff the test output after applying the patch to see how it works with GCC 4.2.1, then going to try the latest Clang version on OS X too, not sure how that's going to go.<br>
<br>- Jesse Towner<br><br><div class="gmail_quote">On Thu, Aug 5, 2010 at 7:17 AM, Clark Gaebel <span dir="ltr"><<a href="http://cg.wowus.cg">cg.wowus.cg</a>@<a href="http://gmail.com">gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

  
    
  
  <div bgcolor="#ffffff" text="#000000">
    Thank you so much for this. Using clang with gcc 4.5.0 headers has
    been a real pain point for me.<div><div></div><div class="h5"><br>
    <br>
    On 08/05/10 05:41, Jesse Towner wrote:
    </div></div><blockquote type="cite"><div><div></div><div class="h5">
      <pre>Hey folks, here's a patch I made that gets libc++ compiling with GCC
4.3, GCC 4.5 and the latest version of Clang.

Altogether, I was able to compile it with GCC 4.3.4, GCC 4.4.3, GCC
4.5.1 and latest Clang/LLVM 2.8 head on Ubuntu, with or without
-std=c++0x. It also compiles with GCC 4.1, but due to some ABI issues
with libstdc++, the shared library won't fully link.

I haven't run the test suite yet due to the missing locales
implementation on Linux, although most of the test cases appear to
compile properly. There's still the occasional warning message here
and there, and there's naturally a lot with -Wall -Wextra.

Change list:

- Better C++0x feature detection for both GCC and Clang (using Clang's
__has__feature builtin preprocessor macro). Added explicit detection
for defaulted and deleted functions.
- Fix for Clang compilation error: Changed __config header to
recognize Clang's support for builtin unicode character types char16_t
and char32_t.
- Fixes for GCC 4.3: Moved a lot of the GCC 4.3 C++0x feature support
up to 4.4 for now in __config header, as although they exist in 4.3,
various parts of libc++ assumed that they were fully implemented or
implied the existence of other C++0x features. Also fine-tuned some
preprocessor conditional checks in iterator, memory, thread,
type_traits and utility headers to account for this. It'd probably be
possible to rewrite a bunch of the offending areas (things that use
variadic templates and auto/decltype) so that they could work in 4.3.
- Fix for GCC 4.5 compilation error: Added implicit cast to void* in
nullptr_t implementation to handle stricter template argument type
matching in this compiler.
- Fix for GCC 4.5 compilation error: Changed both std::move and
std::forward C++0x-specific implementations to explicitly cast the
object to an r-value reference type as GCC 4.5 implements the new
wording for move semantics and rvalue references
(<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html" target="_blank">http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html</a>).
This didn't introduce warning messages in any of the other compilers I
tested with, so not sure what compiler was originally causing the
issues here.
- Preliminary fix for GCC 4.6: Changed libc++ to use GCC 4.6's builtin
nullptr keyword.

Cheers,

Jesse Towner
</pre>
      </div></div><pre><fieldset></fieldset>
_______________________________________________
cfe-dev mailing list
<div class="im"><a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a>
</div></pre>
    </blockquote>
    <br>
    <pre cols="72">-- 
Regards,
-Clark</pre>
  </div>

<br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br>