Author: eugenis Date: Fri Mar 11 17:50:57 2016 New Revision: 263310 URL: http://llvm.org/viewvc/llvm-project?rev=263310&view=rev Log: Disable CFI checks in std::addressof.
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. Modified: libcxx/trunk/include/type_traits Modified: libcxx/trunk/include/type_traits URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/type_traits?rev=263310&r1=263309&r2=263310&view=diff ============================================================================== --- libcxx/trunk/include/type_traits (original) +++ libcxx/trunk/include/type_traits Fri Mar 11 17:50:57 2016 @@ -399,7 +399,7 @@ template <bool _Bp, class _Tp = void> us // 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