halyavin created this revision. halyavin added reviewers: cfe-commits, EricWF, mclow.lists.
C-style cast from const pointer to non-const pointer causes -Wcast-qual warning in gcc. Fix the problem by casting away const with const_cast. Additionally, replace C-style cast with appropriate C++-style cast. https://reviews.llvm.org/D23831 Files: include/type_traits Index: include/type_traits =================================================================== --- include/type_traits +++ include/type_traits @@ -443,7 +443,7 @@ _Tp* addressof(_Tp& __x) _NOEXCEPT { - return (_Tp*)&reinterpret_cast<const volatile char&>(__x); + return reinterpret_cast<_Tp*>(const_cast<char*>(&reinterpret_cast<const volatile char&>(__x))); } #endif // __has_builtin(__builtin_addressof)
Index: include/type_traits =================================================================== --- include/type_traits +++ include/type_traits @@ -443,7 +443,7 @@ _Tp* addressof(_Tp& __x) _NOEXCEPT { - return (_Tp*)&reinterpret_cast<const volatile char&>(__x); + return reinterpret_cast<_Tp*>(const_cast<char*>(&reinterpret_cast<const volatile char&>(__x))); } #endif // __has_builtin(__builtin_addressof)
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits