We don't support GCC in C++03 mode, and Clang provides rvalue references
even in C++03 mode. So there's effectively no supported compiler that
doesn't support rvalue references.
Details
- Reviewers
EricWF - Group Reviewers
Restricted Project - Commits
- rG8d4860aa9ee7: [libc++] Remove workarounds for missing rvalue references
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
libcxx/include/__hash_table | ||
---|---|---|
2565 | The comment here (and in other places) is now incorrect. |
libcxx/include/__hash_table | ||
---|---|---|
2565 | Indeed, good catch. Do you agree we could just return __h; and let the compiler RVO? I think that would be correct for all places where this comment appears. |
libcxx/include/__hash_table | ||
---|---|---|
2579 | The parentheses seem unnecessary here (there would be a difference only if you had decltype(auto) return type. And they hinder the reading. |
Not sure if this is the right patch or if it would be better as a follow-up, but there are a lot of places (vector, unique_ptr, valarray, etc.) where rvalues (or in the case of unique_ptr, lvalue references) are gated on _LIBCPP_CXX03_LANG rather than _LIBCPP_HAS_NO_RVALUE_REFERENCES. We should probably try to remove those workarounds as well.
I fully agree. I was trying to get rid of _LIBCPP_HAS_NO_RVALUE_REFERENCES specifically.
The comment here (and in other places) is now incorrect.