diff --git a/libcxx/test/std/containers/associative/map/map.erasure/erase_if.pass.cpp b/libcxx/test/std/containers/associative/map/map.erasure/erase_if.pass.cpp index f7442f4cfb9f..af2d35c66ec0 100644 --- a/libcxx/test/std/containers/associative/map/map.erasure/erase_if.pass.cpp +++ b/libcxx/test/std/containers/associative/map/map.erasure/erase_if.pass.cpp @@ -24,7 +24,7 @@ M make (Init vals) { M ret; for (int v : vals) - ret[v] = v + 10; + ret[static_cast(v)] = static_cast(v + 10); return ret; } diff --git a/libcxx/test/std/containers/associative/multimap/multimap.erasure/erase_if.pass.cpp b/libcxx/test/std/containers/associative/multimap/multimap.erasure/erase_if.pass.cpp index 4655da4b2dc2..6f2d56a9730d 100644 --- a/libcxx/test/std/containers/associative/multimap/multimap.erasure/erase_if.pass.cpp +++ b/libcxx/test/std/containers/associative/multimap/multimap.erasure/erase_if.pass.cpp @@ -24,7 +24,7 @@ M make (Init vals) { M ret; for (int v : vals) - ret.insert(typename M::value_type(v, v + 10)); + ret.emplace(static_cast(v), static_cast(v + 10)); return ret; } diff --git a/libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp b/libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp index 28c51eb0348e..2b3b212aecde 100644 --- a/libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp +++ b/libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp @@ -156,7 +156,14 @@ void test_ctor_with_different_value_type() { // Make sure initialization is performed with each element value, not with // a memory blob. float array[3] = {0.0f, 1.0f, 2.0f}; +#ifdef TEST_COMPILER_C1XX + #pragma warning(push) + #pragma warning(disable: 4244) // conversion from 'float' to 'int', possible loss of data +#endif // TEST_COMPILER_C1XX std::vector v(array, array + 3); +#ifdef TEST_COMPILER_C1XX + #pragma warning(pop) +#endif // TEST_COMPILER_C1XX assert(v[0] == 0); assert(v[1] == 1); assert(v[2] == 2); diff --git a/libcxx/test/std/containers/unord/unord.map/erase_if.pass.cpp b/libcxx/test/std/containers/unord/unord.map/erase_if.pass.cpp index 652e6f6b49f5..2f188655ca81 100644 --- a/libcxx/test/std/containers/unord/unord.map/erase_if.pass.cpp +++ b/libcxx/test/std/containers/unord/unord.map/erase_if.pass.cpp @@ -24,7 +24,7 @@ M make (Init vals) { M ret; for (int v : vals) - ret[v] = v + 10; + ret[static_cast(v)] = static_cast(v + 10); return ret; } diff --git a/libcxx/test/std/containers/unord/unord.multimap/erase_if.pass.cpp b/libcxx/test/std/containers/unord/unord.multimap/erase_if.pass.cpp index 6da279e915da..23d18872d142 100644 --- a/libcxx/test/std/containers/unord/unord.multimap/erase_if.pass.cpp +++ b/libcxx/test/std/containers/unord/unord.multimap/erase_if.pass.cpp @@ -24,7 +24,7 @@ M make (Init vals) { M ret; for (int v : vals) - ret.insert(typename M::value_type(v, v + 10)); + ret.emplace(static_cast(v), static_cast(v + 10)); return ret; } diff --git a/libcxx/test/std/numerics/numarray/template.valarray/valarray.members/max.pass.cpp b/libcxx/test/std/numerics/numarray/template.valarray/valarray.members/max.pass.cpp index fcc57453c05d..4c65d7f21191 100644 --- a/libcxx/test/std/numerics/numarray/template.valarray/valarray.members/max.pass.cpp +++ b/libcxx/test/std/numerics/numarray/template.valarray/valarray.members/max.pass.cpp @@ -26,11 +26,6 @@ int main(int, char**) std::valarray v1(a1, N1); assert(v1.max() == 4.0); } - { - typedef double T; - std::valarray v1; - v1.max(); - } { typedef double T; T a1[] = {1.5, 2.5, -3, 4, -5.5}; diff --git a/libcxx/test/std/numerics/numarray/template.valarray/valarray.members/min.pass.cpp b/libcxx/test/std/numerics/numarray/template.valarray/valarray.members/min.pass.cpp index 8534e3fd681a..314552aa1177 100644 --- a/libcxx/test/std/numerics/numarray/template.valarray/valarray.members/min.pass.cpp +++ b/libcxx/test/std/numerics/numarray/template.valarray/valarray.members/min.pass.cpp @@ -26,11 +26,6 @@ int main(int, char**) std::valarray v1(a1, N1); assert(v1.min() == -3.0); } - { - typedef double T; - std::valarray v1; - v1.min(); - } { typedef double T; T a1[] = {1.5, 2.5, -3, 4, 5.5}; diff --git a/libcxx/test/std/utilities/meta/meta.const.eval/is_constant_evaluated.pass.cpp b/libcxx/test/std/utilities/meta/meta.const.eval/is_constant_evaluated.pass.cpp index e4b8a7575b0b..a1fdd2882400 100644 --- a/libcxx/test/std/utilities/meta/meta.const.eval/is_constant_evaluated.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.const.eval/is_constant_evaluated.pass.cpp @@ -34,6 +34,10 @@ template struct InTemplate {}; int main(int, char**) { #ifdef __cpp_lib_is_constant_evaluated +#ifdef TEST_COMPILER_C1XX + #pragma warning(push) + #pragma warning(disable: 5063) // 'std::is_constant_evaluated' always evaluates to true in manifestly constant-evaluated expressions +#endif // TEST_COMPILER_C1XX // Test the signature { ASSERT_SAME_TYPE(decltype(std::is_constant_evaluated()), bool); @@ -51,6 +55,9 @@ int main(int, char**) static int local_static = std::is_constant_evaluated() ? 42 : -1; assert(local_static == 42); } -#endif +#ifdef TEST_COMPILER_C1XX + #pragma warning(pop) +#endif // TEST_COMPILER_C1XX +#endif // __cpp_lib_is_constant_evaluated return 0; } diff --git a/libcxx/test/support/charconv_test_helpers.h b/libcxx/test/support/charconv_test_helpers.h index f30956e9a73e..4ef4288a34fc 100644 --- a/libcxx/test/support/charconv_test_helpers.h +++ b/libcxx/test/support/charconv_test_helpers.h @@ -174,6 +174,10 @@ struct roundtrip_test_base r2 = from_chars(buf, r.ptr, x, args...); +#ifdef TEST_COMPILER_C1XX + #pragma warning(push) + #pragma warning(disable: 4127) // conditional expression is constant +#endif // TEST_COMPILER_C1XX if (std::is_signed::value && v < 0 && std::is_unsigned::value) { assert(x == 0xc); @@ -186,6 +190,9 @@ struct roundtrip_test_base assert(r2.ptr == r.ptr); assert(r2.ec == std::errc::result_out_of_range); } +#ifdef TEST_COMPILER_C1XX + #pragma warning(pop) +#endif // TEST_COMPILER_C1XX } } diff --git a/libcxx/test/support/msvc_stdlib_force_include.h b/libcxx/test/support/msvc_stdlib_force_include.h index 2ec74e85a2ae..e3352e52043e 100644 --- a/libcxx/test/support/msvc_stdlib_force_include.h +++ b/libcxx/test/support/msvc_stdlib_force_include.h @@ -88,5 +88,7 @@ const AssertionDialogAvoider assertion_dialog_avoider{}; #endif #define _LIBCPP_AVAILABILITY_THROW_BAD_ANY_CAST +#define _LIBCPP_SUPPRESS_DEPRECATED_PUSH +#define _LIBCPP_SUPPRESS_DEPRECATED_POP #endif // SUPPORT_MSVC_STDLIB_FORCE_INCLUDE_H