forked from OSchip/llvm-project
a7b2241407
a cv-qualifier rvalue reference to the type, e.g., template <class _Tp> char __test(const volatile typename remove_reference<_Tp>::type&&); The use of this function signature rather than the more straightforward one used in C++98/03 mode, e.g., template <class _Tp> char __test(_Tp); is broken in two ways: 1) An rvalue reference cannot bind to lvalues, so is_convertible<X&, X&>::value would be false. This breaks two of the unique_ptr tests on Clang and GCC >= 4.5. Prior GCC's seem to have allowed rvalue references to bind to lvalues, allowing this bug to slip in. 2) By adding cv-qualifiers to the type we're converting to, we get some incorrect "true" results for, e.g., is_convertible<const X&, X&>::value. llvm-svn: 124166 |
||
---|---|---|
.. | ||
cmake | ||
include | ||
lib | ||
src | ||
test | ||
www | ||
CMakeLists.txt | ||
CREDITS.TXT | ||
LICENSE.TXT | ||
Makefile |