eugenis created this revision. eugenis added a reviewer: EricWF. eugenis added a subscriber: cfe-commits. eugenis set the repository for this revision to rL LLVM.
std::addressof may be used on a storage of an object before the start of its lifetime (see std::allocate_shared for example). CFI flags the C-style cast as invalid in that case. Repository: rL LLVM http://reviews.llvm.org/D18107 Files: include/type_traits Index: include/type_traits =================================================================== --- include/type_traits +++ include/type_traits @@ -399,7 +399,7 @@ // addressof template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_NO_CFI _LIBCPP_INLINE_VISIBILITY _Tp* addressof(_Tp& __x) _NOEXCEPT {
Index: include/type_traits =================================================================== --- include/type_traits +++ include/type_traits @@ -399,7 +399,7 @@ // addressof template <class _Tp> -inline _LIBCPP_INLINE_VISIBILITY +inline _LIBCPP_NO_CFI _LIBCPP_INLINE_VISIBILITY _Tp* addressof(_Tp& __x) _NOEXCEPT {
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits