>>> The new std::string and std::list are also valid implementations for C++03. >> >> OK, good. Thanks. >> >> If its a valid implementation, then why is the compiler complaining? > > That question doesn't even make sense. GCC's warnings aren't there to > say "this implementation does not conform to the standard". Yeah, it only get worse: $ g++ -x c++ -include iostream -dM -E - </dev/null | grep ABI_CHANGE $ g++ -x c++ -include iostream -std=c++11 -dM -E - </dev/null | grep ABI_CHANGE $ I get the problem its trying to solve; especially the part about the return type ABI. But I have to admit I'm just about totally confused about the implementation details for library authors, the coexisting symbols discussed in the blog, and the ABI_CHANGE change macro. Jeff