diff --git a/stl/inc/bitset b/stl/inc/bitset index 9b8a247a6d1..06d1da21bfc 100644 --- a/stl/inc/bitset +++ b/stl/inc/bitset @@ -18,6 +18,12 @@ _STL_DISABLE_CLANG_WARNINGS #pragma push_macro("new") #undef new +// TRANSITION, non-_Ugly attribute tokens +#pragma push_macro("msvc") +#pragma push_macro("no_specializations") +#undef msvc +#undef no_specializations + #ifndef _STD_BITSET_TO_STREAM_STACK_RESERVATION #define _STD_BITSET_TO_STREAM_STACK_RESERVATION 128 #endif // !defined(_STD_BITSET_TO_STREAM_STACK_RESERVATION) @@ -72,8 +78,8 @@ struct _Buffer_for_bitset<_Elem, _Bits, false> { _Elem _Buf[(_Bits != 0) ? _Bits : 1]; }; -_EXPORT_STD template -class bitset { // store fixed-length sequence of Boolean elements +_EXPORT_STD template // store fixed-length sequence of Boolean elements +class _NO_SPECIALIZATIONS_CITING("N5014 [namespace.std]/2.1") bitset { private: #pragma warning(push) #pragma warning(disable : 4296) // expression is always true (/Wall) @@ -687,6 +693,10 @@ struct hash> { }; _STD_END +// TRANSITION, non-_Ugly attribute tokens +#pragma pop_macro("no_specializations") +#pragma pop_macro("msvc") + #pragma pop_macro("new") _STL_RESTORE_CLANG_WARNINGS #pragma warning(pop) diff --git a/stl/inc/ratio b/stl/inc/ratio index 07117b684e5..7d17b36e927 100644 --- a/stl/inc/ratio +++ b/stl/inc/ratio @@ -70,7 +70,7 @@ _NODISCARD constexpr intmax_t _Gcd(intmax_t _Ax, intmax_t _Bx) noexcept { } _EXPORT_STD template -struct ratio { // holds the ratio of _Nx to _Dx +struct _NO_SPECIALIZATIONS_CITING("N5014 [namespace.std]/2.1") ratio { // holds the ratio of _Nx to _Dx static_assert(_Dx != 0, "zero denominator"); static_assert(-INTMAX_MAX <= _Nx, "numerator too negative"); static_assert(-INTMAX_MAX <= _Dx, "denominator too negative");