diff --git a/libcxx/include/__config b/libcxx/include/__config index b0a3091e497b..311e0607a717 100644 --- a/libcxx/include/__config +++ b/libcxx/include/__config @@ -694,12 +694,6 @@ template struct __static_assert_check {}; #define _NOALIAS #endif -#ifdef __GNUC__ -#define _LIBCPP_MAY_ALIAS __attribute__((__may_alias__)) -#else -#define _LIBCPP_MAY_ALIAS -#endif - #if __has_feature(cxx_explicit_conversions) || defined(__IBMCPP__) # define _LIBCPP_EXPLICIT explicit #else diff --git a/libcxx/include/typeinfo b/libcxx/include/typeinfo index ace660991421..9b14cb36048e 100644 --- a/libcxx/include/typeinfo +++ b/libcxx/include/typeinfo @@ -77,8 +77,6 @@ class _LIBCPP_EXCEPTION_ABI type_info type_info& operator=(const type_info&); type_info(const type_info&); - typedef size_t _LIBCPP_MAY_ALIAS _ASizeT; // Avoid strict-aliasing issues. - protected: #ifndef _LIBCPP_NONUNIQUE_RTTI_BIT const char* __type_name; @@ -119,7 +117,7 @@ public: _LIBCPP_INLINE_VISIBILITY size_t hash_code() const _NOEXCEPT #ifndef _LIBCPP_NONUNIQUE_RTTI_BIT - {return *reinterpret_cast(&__type_name);} + {return reinterpret_cast(__type_name);} #else {if (!(__type_name & _LIBCPP_NONUNIQUE_RTTI_BIT)) return __type_name; const char *__ptr = name();