Commit d79361fa by Derek Mauro Committed by Copybara-Service

Changes necessary to support clang-cl

This change fixes -Wimplicit-const-int-float-conversion warnings
by making the conversions explicit.

PiperOrigin-RevId: 520707623
Change-Id: Ib6917469120cd7458257195cbf39beb3fd397543
parent 2d319128
...@@ -320,13 +320,13 @@ cc_library( ...@@ -320,13 +320,13 @@ cc_library(
linkopts = ABSL_DEFAULT_LINKOPTS, linkopts = ABSL_DEFAULT_LINKOPTS,
deps = [ deps = [
":test_helpers", ":test_helpers",
"@com_google_googletest//:gtest",
"//absl/base:config", "//absl/base:config",
"//absl/base:core_headers", "//absl/base:core_headers",
"//absl/base:log_severity", "//absl/base:log_severity",
"//absl/log:log_entry", "//absl/log:log_entry",
"//absl/strings", "//absl/strings",
"//absl/time", "//absl/time",
"@com_google_googletest//:gtest",
] + select({ ] + select({
"//absl:msvc_compiler": [], "//absl:msvc_compiler": [],
"//conditions:default": [ "//conditions:default": [
......
...@@ -285,8 +285,9 @@ TEST(Uint128, ConversionTests) { ...@@ -285,8 +285,9 @@ TEST(Uint128, ConversionTests) {
EXPECT_EQ(from_precise_double, from_precise_ints); EXPECT_EQ(from_precise_double, from_precise_ints);
EXPECT_DOUBLE_EQ(static_cast<double>(from_precise_ints), precise_double); EXPECT_DOUBLE_EQ(static_cast<double>(from_precise_ints), precise_double);
double approx_double = 0xffffeeeeddddcccc * std::pow(2.0, 64.0) + double approx_double =
0xbbbbaaaa99998888; static_cast<double>(0xffffeeeeddddcccc) * std::pow(2.0, 64.0) +
static_cast<double>(0xbbbbaaaa99998888);
absl::uint128 from_approx_double(approx_double); absl::uint128 from_approx_double(approx_double);
EXPECT_DOUBLE_EQ(static_cast<double>(from_approx_double), approx_double); EXPECT_DOUBLE_EQ(static_cast<double>(from_approx_double), approx_double);
......
...@@ -345,8 +345,9 @@ TEST(IOStreamStateSaver, RoundTripLongDoubles) { ...@@ -345,8 +345,9 @@ TEST(IOStreamStateSaver, RoundTripLongDoubles) {
} }
// Avoid undefined behavior (overflow/underflow). // Avoid undefined behavior (overflow/underflow).
if (dd <= std::numeric_limits<int64_t>::max() && if (dd <= static_cast<long double>(std::numeric_limits<int64_t>::max()) &&
dd >= std::numeric_limits<int64_t>::lowest()) { dd >=
static_cast<long double>(std::numeric_limits<int64_t>::lowest())) {
int64_t x = static_cast<int64_t>(dd); int64_t x = static_cast<int64_t>(dd);
EXPECT_EQ(x, StreamRoundTrip<int64_t>(x)); EXPECT_EQ(x, StreamRoundTrip<int64_t>(x));
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment