On 20 June 2010 16:42, Nobin Mathew wrote: > > I think in stringfwd.h _GLIBCXX_BEGIN_NAMESPACE(std) is parsed for the > first time. That should be defined by bits/c++config.h, and works fine when compiled by g++, which is the only supported use of the libstdc++ headers. If clang fails to process the headers then either clang has a bug, you do not have some required configuration needed to make it work. Technically this can't be a bug in libstdc++, because using clang is not supported. However, we would consider specific changes to make the headers work with clang if there is a real problem. I suggest you find out how clang parses your bits/c++config.h and why _GLIBCXX_BEGIN_NAMESPACE doesn't get defined to something useful. You should start by examining the preprocessed output to see what _GLIBCXX_BEGIN_NAMESPACE(std) expands to. It seems that your testcase is unnecessary, the following program should produce the same problem: #include <ios> int main() { }