diff --git a/libcxx/include/__config b/libcxx/include/__config --- a/libcxx/include/__config +++ b/libcxx/include/__config @@ -1263,6 +1263,9 @@ _Pragma("pop_macro(\"min\")") \ _Pragma("pop_macro(\"max\")") # endif +# define _PSTL_PUSH_MACROS _LIBCPP_PUSH_MACROS +# define _PSTL_UNDEF_MACROS <__undef_macros> +# define _PSTL_POP_MACROS _LIBCPP_POP_MACROS #endif // defined(_LIBCPP_HAS_NO_PRAGMA_PUSH_POP_MACRO) #ifndef _LIBCPP_NO_AUTO_LINK diff --git a/pstl/include/pstl/internal/algorithm_impl.h b/pstl/include/pstl/internal/algorithm_impl.h --- a/pstl/include/pstl/internal/algorithm_impl.h +++ b/pstl/include/pstl/internal/algorithm_impl.h @@ -24,6 +24,11 @@ #include "pstl_config.h" #include "unseq_backend_simd.h" +#ifdef _PSTL_PUSH_MACROS +_PSTL_PUSH_MACROS +#include _PSTL_UNDEF_MACROS +#endif + _PSTL_HIDE_FROM_ABI_PUSH namespace __pstl @@ -3816,4 +3821,8 @@ _PSTL_HIDE_FROM_ABI_POP +#ifdef _PSTL_PUSH_MACROS +_PSTL_POP_MACROS +#endif + #endif /* _PSTL_ALGORITHM_IMPL_H */