Code freeze on 3/7

Code freeze for the LLVM 2.7 release will be on 3/7, just six days from now. This will be the first release where we will turn on Clang C++. Although Clang C++ will be clearly labeled as experimental, we would still like to fix whatever bugs we can. Focus applications for this week:

  - Clang bootstrap on Linux (
  - Qt (
  - Firefox (
  - libstdc++ build (
  - (Not expected to work, but interesting nonetheless) Boost (

In addition, we're prioritizing bugs addressing missing features, crashes or miscompilations of valid code, e.g.,
  - Disambiguation of calls in diamond-shaped hierarchies (
  - Value-dependent expressions (
  - Modeling of temporaries (
  (and many more)

Bugs involving C++0x features or where Clang is crashing/asserting on invalid code are generally less important.

How can you help?

  - Fix bugs: If you're comfortable with the Clang code base, now would be a great time to dig in to try to address some of the bugs in Bugzilla (Clang C++ component). We'll try to review patches quickly.
  - Verify and reduce bugs: There are many bugs in Bugzilla, some of which have probably been fixed or need to be reduced further to be useful. Reducing these can help the bug-fixers address problems more quickly.
  - Build focus apps: Try to build the applications mentioned above; catalog, debug, and file bug reports for the problems you see. When you find a problem, see if it's already been reported and, if it hasn't already been correlated with the meta bug for that application (see links above), link the bugs so that we know the problem is important.

Let's make Clang C++ great!


clang r97561 can build libstdc++ 4.2.1 but the resulting library
fails to link with a bunch of stuff like:

locale-inst.So(.text+0xd506): In function `std::messages<char>::do_get(int, int, int, std::string const&) const':
: multiple definition of `std::messages<char>::do_get(int, int, int, std::string const&) const'
messages_members.So(.text+0x0): first defined here
locale-inst.So(.text+0xda22): In function `std::collate<char>::_M_compare(char const*, char const*) const':
: multiple definition of `std::collate<char>::_M_compare(char const*, char const*) const'
collate_members.So(.text+0x0): first defined here
/usr/bin/ld: Warning: size of symbol `_ZNKSt7collateIcE10_M_compareEPKcS2_' changed from 33 in collate_members.So to 8 in locale-inst.So

I am gonna investigate that today and hopefully submit a testcase RSN

great progress!

I believe it is caused by: