зеркало из https://github.com/microsoft/STL.git
`chrono::abs` incorrectly uses `?:` with expressions that don't always have a common type (#2988)
This commit is contained in:
Родитель
577269c56a
Коммит
1fe625d713
|
@ -502,8 +502,12 @@ namespace chrono {
|
||||||
template <class _Rep, class _Period, enable_if_t<numeric_limits<_Rep>::is_signed, int> = 0>
|
template <class _Rep, class _Period, enable_if_t<numeric_limits<_Rep>::is_signed, int> = 0>
|
||||||
_NODISCARD constexpr duration<_Rep, _Period> abs(const duration<_Rep, _Period> _Dur) noexcept(
|
_NODISCARD constexpr duration<_Rep, _Period> abs(const duration<_Rep, _Period> _Dur) noexcept(
|
||||||
is_arithmetic_v<_Rep>) /* strengthened */ {
|
is_arithmetic_v<_Rep>) /* strengthened */ {
|
||||||
// create a duration with count() the absolute value of _Dur.count()
|
// create a duration whose count() is the absolute value of _Dur.count()
|
||||||
return _Dur < duration<_Rep, _Period>::zero() ? duration<_Rep, _Period>::zero() - _Dur : _Dur;
|
if (_Dur < duration<_Rep, _Period>::zero()) {
|
||||||
|
return duration<_Rep, _Period>::zero() - _Dur;
|
||||||
|
} else {
|
||||||
|
return _Dur;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
using nanoseconds = duration<long long, nano>;
|
using nanoseconds = duration<long long, nano>;
|
||||||
|
|
|
@ -794,9 +794,6 @@ std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.
|
||||||
std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_encoding.pass.cpp FAIL
|
std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_encoding.pass.cpp FAIL
|
||||||
std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_max_length.pass.cpp FAIL
|
std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_max_length.pass.cpp FAIL
|
||||||
|
|
||||||
# Likely STL bug in <chrono>: "result type of conditional expression is ambiguous"
|
|
||||||
std/utilities/time/time.duration/time.duration.alg/abs.pass.cpp FAIL
|
|
||||||
|
|
||||||
# Likely STL bug in <format>: we check argument ids at compiletime in next_arg_id
|
# Likely STL bug in <format>: we check argument ids at compiletime in next_arg_id
|
||||||
std/utilities/format/format.formatter/format.parse.ctx/next_arg_id.pass.cpp FAIL
|
std/utilities/format/format.formatter/format.parse.ctx/next_arg_id.pass.cpp FAIL
|
||||||
|
|
||||||
|
|
|
@ -790,9 +790,6 @@ localization\locale.categories\category.ctype\locale.codecvt\locale.codecvt.memb
|
||||||
localization\locale.categories\category.ctype\locale.codecvt\locale.codecvt.members\char32_t_encoding.pass.cpp
|
localization\locale.categories\category.ctype\locale.codecvt\locale.codecvt.members\char32_t_encoding.pass.cpp
|
||||||
localization\locale.categories\category.ctype\locale.codecvt\locale.codecvt.members\char32_t_max_length.pass.cpp
|
localization\locale.categories\category.ctype\locale.codecvt\locale.codecvt.members\char32_t_max_length.pass.cpp
|
||||||
|
|
||||||
# Likely STL bug in <chrono>: "result type of conditional expression is ambiguous"
|
|
||||||
utilities\time\time.duration\time.duration.alg\abs.pass.cpp
|
|
||||||
|
|
||||||
# Likely STL bug in <format>: we check argument ids at compiletime in next_arg_id
|
# Likely STL bug in <format>: we check argument ids at compiletime in next_arg_id
|
||||||
utilities\format\format.formatter\format.parse.ctx\next_arg_id.pass.cpp
|
utilities\format\format.formatter\format.parse.ctx\next_arg_id.pass.cpp
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче