Reputation: 15126
Is there a good source of information on C++11 standard support in libc++? Its web site says 98% of the standard is supported but I'd like to know what features the other 2% are.
Something similar to this list for libstdc++ would be nice: http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2011
Upvotes: 5
Views: 1715
Reputation: 51
A frustrating side note on std::quick_exit()
and std::at_quick_exit()
functions. They are still unimplemented in macOS's libc even after several years. Also there is a possible vulnerability in the C++ standard, where it states you can safely call std::quick_exit()
from a signal handler, but it doesn't state the functions that are registered by std::at_quick_exit()
must also meet the same requirements a regular signal handler does. I believe that might be the reason behind why those functions are not implemented yet.
Upvotes: 5
Reputation: 523284
Edit: From Howard Hinnant's comment below:
The chart is outdated already. I should update it or take it down. The only thing unimplemented in libc++ right now is 20.7.2.5
shared_ptr
atomic access [util.smartptr.shared.atomic]. And I hope to get that done this weekend. [atomics] is there now. Oh,quick_exit
is missing. I'm going to let the C library implement that.
The most recent and detailed information is already linked from the front page (doesn't mean it is new enough ☺).
The only major missing piece of C++'0x support is
<atomic>
.Here is a by-chapter breakdown of what is passing tests and what isn't.
We can see that 76% of <atomic>
, 3% of "[language.support]" and 2% of "[utilities]" are missing.
I don't think there would be more updated/detailed break down like the libstdc++ one.
Upvotes: 5