Remove runtime conversions of compile-time string constants.
These will become a compile error on the Chromium side soon.
Bug: chromium:1189439
Change-Id: I526fc61c77ed97b4dc5e6a5215f60dfa3580b564
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2876866
Commit-Queue: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
diff --git a/minidump/minidump_misc_info_writer_test.cc b/minidump/minidump_misc_info_writer_test.cc
index 6ca1a19..8a25aee 100644
--- a/minidump/minidump_misc_info_writer_test.cc
+++ b/minidump/minidump_misc_info_writer_test.cc
@@ -193,6 +193,12 @@
EXPECT_EQ(observed_misc_info.ProcessCookie, expected_misc_info.ProcessCookie);
}
+// Bypass restrictions on conversion of compile-time constants (added for
+// https://crbug.com/1189439).
+const char* Crbug1189439Cast(const char str[]) {
+ return str;
+}
+
TEST(MinidumpMiscInfoWriter, Empty) {
MinidumpFileWriter minidump_file_writer;
auto misc_info_writer = std::make_unique<MinidumpMiscInfoWriter>();
@@ -399,7 +405,8 @@
expected.Flags1 = MINIDUMP_MISC3_TIMEZONE;
expected.TimeZoneId = kTimeZoneId;
expected.TimeZone.Bias = kBias;
- std::u16string standard_name_utf16 = base::UTF8ToUTF16(kStandardName);
+ std::u16string standard_name_utf16 =
+ base::UTF8ToUTF16(Crbug1189439Cast(kStandardName));
c16lcpy(AsU16CStr(expected.TimeZone.StandardName),
standard_name_utf16.c_str(),
base::size(expected.TimeZone.StandardName));
@@ -407,7 +414,8 @@
&kStandardDate,
sizeof(expected.TimeZone.StandardDate));
expected.TimeZone.StandardBias = kStandardBias;
- std::u16string daylight_name_utf16 = base::UTF8ToUTF16(kDaylightName);
+ std::u16string daylight_name_utf16 =
+ base::UTF8ToUTF16(Crbug1189439Cast(kDaylightName));
c16lcpy(AsU16CStr(expected.TimeZone.DaylightName),
daylight_name_utf16.c_str(),
base::size(expected.TimeZone.DaylightName));
@@ -499,12 +507,13 @@
MINIDUMP_MISC_INFO_4 expected = {};
expected.Flags1 = MINIDUMP_MISC4_BUILDSTRING;
- std::u16string build_string_utf16 = base::UTF8ToUTF16(kBuildString);
+ std::u16string build_string_utf16 =
+ base::UTF8ToUTF16(Crbug1189439Cast(kBuildString));
c16lcpy(AsU16CStr(expected.BuildString),
build_string_utf16.c_str(),
base::size(expected.BuildString));
std::u16string debug_build_string_utf16 =
- base::UTF8ToUTF16(kDebugBuildString);
+ base::UTF8ToUTF16(Crbug1189439Cast(kDebugBuildString));
c16lcpy(AsU16CStr(expected.DbgBldStr),
debug_build_string_utf16.c_str(),
base::size(expected.DbgBldStr));
@@ -681,7 +690,8 @@
expected.ProtectedProcess = kProtectedProcess;
expected.TimeZoneId = kTimeZoneId;
expected.TimeZone.Bias = kBias;
- std::u16string standard_name_utf16 = base::UTF8ToUTF16(kStandardName);
+ std::u16string standard_name_utf16 =
+ base::UTF8ToUTF16(Crbug1189439Cast(kStandardName));
c16lcpy(AsU16CStr(expected.TimeZone.StandardName),
standard_name_utf16.c_str(),
base::size(expected.TimeZone.StandardName));
@@ -689,7 +699,8 @@
&kSystemTimeZero,
sizeof(expected.TimeZone.StandardDate));
expected.TimeZone.StandardBias = kStandardBias;
- std::u16string daylight_name_utf16 = base::UTF8ToUTF16(kDaylightName);
+ std::u16string daylight_name_utf16 =
+ base::UTF8ToUTF16(Crbug1189439Cast(kDaylightName));
c16lcpy(AsU16CStr(expected.TimeZone.DaylightName),
daylight_name_utf16.c_str(),
base::size(expected.TimeZone.DaylightName));
@@ -697,12 +708,13 @@
&kSystemTimeZero,
sizeof(expected.TimeZone.DaylightDate));
expected.TimeZone.DaylightBias = kDaylightBias;
- std::u16string build_string_utf16 = base::UTF8ToUTF16(kBuildString);
+ std::u16string build_string_utf16 =
+ base::UTF8ToUTF16(Crbug1189439Cast(kBuildString));
c16lcpy(AsU16CStr(expected.BuildString),
build_string_utf16.c_str(),
base::size(expected.BuildString));
std::u16string debug_build_string_utf16 =
- base::UTF8ToUTF16(kDebugBuildString);
+ base::UTF8ToUTF16(Crbug1189439Cast(kDebugBuildString));
c16lcpy(AsU16CStr(expected.DbgBldStr),
debug_build_string_utf16.c_str(),
base::size(expected.DbgBldStr));
@@ -723,9 +735,9 @@
static constexpr char kMachineDescription[] =
"MacBookPro11,3 (Mac-2BD1B31983FE1663)";
std::u16string standard_time_name_utf16 =
- base::UTF8ToUTF16(kStandardTimeName);
+ base::UTF8ToUTF16(Crbug1189439Cast(kStandardTimeName));
std::u16string daylight_time_name_utf16 =
- base::UTF8ToUTF16(kDaylightTimeName);
+ base::UTF8ToUTF16(Crbug1189439Cast(kDaylightTimeName));
std::u16string build_string_utf16 = base::UTF8ToUTF16(
std::string(kOSVersionFull) + "; " + kMachineDescription);
std::string debug_build_string = internal::MinidumpMiscInfoDebugBuildString();