diff --git a/libcxx/docs/ReleaseNotes/18.rst b/libcxx/docs/ReleaseNotes/18.rst --- a/libcxx/docs/ReleaseNotes/18.rst +++ b/libcxx/docs/ReleaseNotes/18.rst @@ -52,6 +52,7 @@ - P2697R1 - Interfacing ``bitset`` with ``string_view`` - P2443R1 - ``views::chunk_by`` - P2538R1 - ADL-proof ``std::projected`` +- P2614R2 - Deprecate ``numeric_limits::has_denorm`` Improvements and New Features diff --git a/libcxx/docs/Status/Cxx23Papers.csv b/libcxx/docs/Status/Cxx23Papers.csv --- a/libcxx/docs/Status/Cxx23Papers.csv +++ b/libcxx/docs/Status/Cxx23Papers.csv @@ -117,7 +117,7 @@ "`P2655R3 `__","LWG", "``common_reference_t`` of ``reference_wrapper`` Should Be a Reference Type","February 2023","","","" "`P2652R2 `__","LWG", "Disallow User Specialization of ``allocator_traits``","February 2023","","","" "`P2787R1 `__","LWG", "``pmr::generator`` - Promise Types are not Values","February 2023","","","" -"`P2614R2 `__","LWG", "Deprecate ``numeric_limits::has_denorm``","February 2023","","","" +"`P2614R2 `__","LWG", "Deprecate ``numeric_limits::has_denorm``","February 2023","|Complete|","17.0","" "`P2588R3 `__","LWG", "``barrier``’s phase completion guarantees","February 2023","","","" "`P2763R1 `__","LWG", "``layout_stride`` static extents default constructor fix","February 2023","","","" "`P2736R2 `__","CWG","Referencing The Unicode Standard","February 2023","","","|format|" diff --git a/libcxx/include/limits b/libcxx/include/limits --- a/libcxx/include/limits +++ b/libcxx/include/limits @@ -43,8 +43,8 @@ static constexpr bool has_infinity = false; static constexpr bool has_quiet_NaN = false; static constexpr bool has_signaling_NaN = false; - static constexpr float_denorm_style has_denorm = denorm_absent; - static constexpr bool has_denorm_loss = false; + static constexpr float_denorm_style has_denorm = denorm_absent; // deprecated in C++23 + static constexpr bool has_denorm_loss = false; // deprecated in C++23 static constexpr T infinity() noexcept; static constexpr T quiet_NaN() noexcept; static constexpr T signaling_NaN() noexcept; @@ -68,7 +68,7 @@ round_toward_neg_infinity = 3 }; -enum float_denorm_style +enum float_denorm_style // deprecated in C++23 { denorm_indeterminate = -1, denorm_absent = 0, @@ -128,7 +128,7 @@ round_toward_neg_infinity = 3 }; -enum float_denorm_style +enum _LIBCPP_DEPRECATED_IN_CXX23 float_denorm_style { denorm_indeterminate = -1, denorm_absent = 0, @@ -164,8 +164,8 @@ static _LIBCPP_CONSTEXPR const bool has_infinity = false; static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = false; static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = false; - static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = denorm_absent; - static _LIBCPP_CONSTEXPR const bool has_denorm_loss = false; + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = denorm_absent; + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const bool has_denorm_loss = false; _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return type();} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return type();} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return type();} @@ -224,8 +224,8 @@ static _LIBCPP_CONSTEXPR const bool has_infinity = false; static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = false; static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = false; - static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = denorm_absent; - static _LIBCPP_CONSTEXPR const bool has_denorm_loss = false; + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = denorm_absent; + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const bool has_denorm_loss = false; _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return type(0);} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return type(0);} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return type(0);} @@ -277,8 +277,8 @@ static _LIBCPP_CONSTEXPR const bool has_infinity = false; static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = false; static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = false; - static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = denorm_absent; - static _LIBCPP_CONSTEXPR const bool has_denorm_loss = false; + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = denorm_absent; + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const bool has_denorm_loss = false; _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return type(0);} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return type(0);} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return type(0);} @@ -323,8 +323,8 @@ static _LIBCPP_CONSTEXPR const bool has_infinity = true; static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = true; static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = true; - static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = denorm_present; - static _LIBCPP_CONSTEXPR const bool has_denorm_loss = false; + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = denorm_present; + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const bool has_denorm_loss = false; _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return __builtin_huge_valf();} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return __builtin_nanf("");} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return __builtin_nansf("");} @@ -373,8 +373,8 @@ static _LIBCPP_CONSTEXPR const bool has_infinity = true; static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = true; static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = true; - static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = denorm_present; - static _LIBCPP_CONSTEXPR const bool has_denorm_loss = false; + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = denorm_present; + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const bool has_denorm_loss = false; _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return __builtin_huge_val();} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return __builtin_nan("");} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return __builtin_nans("");} @@ -423,8 +423,8 @@ static _LIBCPP_CONSTEXPR const bool has_infinity = true; static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = true; static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = true; - static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = denorm_present; - static _LIBCPP_CONSTEXPR const bool has_denorm_loss = false; + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = denorm_present; + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const bool has_denorm_loss = false; _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return __builtin_huge_vall();} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return __builtin_nanl("");} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return __builtin_nansl("");} @@ -477,8 +477,10 @@ static _LIBCPP_CONSTEXPR const bool has_infinity = __base::has_infinity; static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = __base::has_quiet_NaN; static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = __base::has_signaling_NaN; - static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = __base::has_denorm; - static _LIBCPP_CONSTEXPR const bool has_denorm_loss = __base::has_denorm_loss; +_LIBCPP_SUPPRESS_DEPRECATED_PUSH + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = __base::has_denorm; + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const bool has_denorm_loss = __base::has_denorm_loss; +_LIBCPP_SUPPRESS_DEPRECATED_POP _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return __base::infinity();} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return __base::quiet_NaN();} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return __base::signaling_NaN();} @@ -570,8 +572,10 @@ static _LIBCPP_CONSTEXPR const bool has_infinity = __base::has_infinity; static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = __base::has_quiet_NaN; static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = __base::has_signaling_NaN; - static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = __base::has_denorm; - static _LIBCPP_CONSTEXPR const bool has_denorm_loss = __base::has_denorm_loss; +_LIBCPP_SUPPRESS_DEPRECATED_PUSH + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = __base::has_denorm; + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const bool has_denorm_loss = __base::has_denorm_loss; +_LIBCPP_SUPPRESS_DEPRECATED_POP _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return __base::infinity();} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return __base::quiet_NaN();} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return __base::signaling_NaN();} @@ -663,8 +667,10 @@ static _LIBCPP_CONSTEXPR const bool has_infinity = __base::has_infinity; static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = __base::has_quiet_NaN; static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = __base::has_signaling_NaN; - static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = __base::has_denorm; - static _LIBCPP_CONSTEXPR const bool has_denorm_loss = __base::has_denorm_loss; +_LIBCPP_SUPPRESS_DEPRECATED_PUSH + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = __base::has_denorm; + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const bool has_denorm_loss = __base::has_denorm_loss; +_LIBCPP_SUPPRESS_DEPRECATED_POP _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return __base::infinity();} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return __base::quiet_NaN();} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return __base::signaling_NaN();} @@ -756,8 +762,10 @@ static _LIBCPP_CONSTEXPR const bool has_infinity = __base::has_infinity; static _LIBCPP_CONSTEXPR const bool has_quiet_NaN = __base::has_quiet_NaN; static _LIBCPP_CONSTEXPR const bool has_signaling_NaN = __base::has_signaling_NaN; - static _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = __base::has_denorm; - static _LIBCPP_CONSTEXPR const bool has_denorm_loss = __base::has_denorm_loss; +_LIBCPP_SUPPRESS_DEPRECATED_PUSH + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const float_denorm_style has_denorm = __base::has_denorm; + static _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_CONSTEXPR const bool has_denorm_loss = __base::has_denorm_loss; +_LIBCPP_SUPPRESS_DEPRECATED_POP _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return __base::infinity();} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return __base::quiet_NaN();} _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type signaling_NaN() _NOEXCEPT {return __base::signaling_NaN();} diff --git a/libcxx/test/std/depr/depr.numeric.imits.has.denorm/deprecated.verify.cpp b/libcxx/test/std/depr/depr.numeric.imits.has.denorm/deprecated.verify.cpp new file mode 100644 --- /dev/null +++ b/libcxx/test/std/depr/depr.numeric.imits.has.denorm/deprecated.verify.cpp @@ -0,0 +1,101 @@ +//===----------------------------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +// UNSUPPORTED: c++03, c++11, c++14, c++17, c++20 + +// ADDITIONAL_COMPILE_FLAGS: -Wno-unused-value + +#include + +#include "type_algorithms.h" + +void func() { + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::numeric_limits::has_denorm; // expected-warning {{'has_denorm' is deprecated}} + std::numeric_limits::has_denorm_loss; // expected-warning {{'has_denorm_loss' is deprecated}} + std::numeric_limits::denorm_min(); + + std::denorm_indeterminate; // expected-warning {{'denorm_indeterminate' is deprecated}} + std::denorm_absent; // expected-warning {{'denorm_absent' is deprecated}} + std::denorm_present; // expected-warning {{'denorm_present' is deprecated}} +} diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS + #include #include "test_macros.h" diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS + // test numeric_limits // has_denorm diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS + // test numeric_limits // has_denorm_loss diff --git a/libcxx/test/std/language.support/support.limits/limits/numeric.limits/default.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/numeric.limits/default.pass.cpp --- a/libcxx/test/std/language.support/support.limits/limits/numeric.limits/default.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/numeric.limits/default.pass.cpp @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS + // test numeric_limits // The default numeric_limits template shall have all members, but with diff --git a/libcxx/test/std/language.support/support.limits/limits/round.style/check_values.pass.cpp b/libcxx/test/std/language.support/support.limits/limits/round.style/check_values.pass.cpp --- a/libcxx/test/std/language.support/support.limits/limits/round.style/check_values.pass.cpp +++ b/libcxx/test/std/language.support/support.limits/limits/round.style/check_values.pass.cpp @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS + // test numeric_limits // float_denorm_style