For the following small test I got different result when using clang w/ libstdc++ and libc++:
unsigned i = 12345;
iss >> i;
std::cout << i << std::endl;
$ clang++ a.cpp
$ clang++ -stdlib=libc++ a.cpp
$ clang -v
Apple LLVM version 4.2 (clang-425.0.27) (based on LLVM 3.2svn)
Thread model: posix
If my understanding of the C++ standard (C++03) is correct libstdc++ is right here, since 22.214.171.124.2p1 [lib.facet.num.get.virtuals] says
"If an error occurs, val is unchanged; otherwise it is set to the resulting value."
Or am I missing something and I shouldn't count on particular result here?