Merge "Clang build support"
diff --git a/src/third_party/starboard/rdk/shared/build/rdk_toolchain.gni b/src/third_party/starboard/rdk/shared/build/rdk_toolchain.gni
index 8f60930..f533c5d 100644
--- a/src/third_party/starboard/rdk/shared/build/rdk_toolchain.gni
+++ b/src/third_party/starboard/rdk/shared/build/rdk_toolchain.gni
@@ -58,7 +58,7 @@
if (defined(invoker.toolchain_args)) {
forward_variables_from(invoker.toolchain_args, "*")
}
- is_clang = false
+# is_clang = false
}
}
}
diff --git a/src/third_party/starboard/rdk/shared/drm/drm_system_ocdm.cc b/src/third_party/starboard/rdk/shared/drm/drm_system_ocdm.cc
index 9c8342b..b4f6758 100644
--- a/src/third_party/starboard/rdk/shared/drm/drm_system_ocdm.cc
+++ b/src/third_party/starboard/rdk/shared/drm/drm_system_ocdm.cc
@@ -565,7 +565,7 @@
int key_size,
const void* session_id,
int session_id_size) {
- std::string id = {static_cast<const char*>(session_id), session_id_size};
+ std::string id = {static_cast<const char*>(session_id), static_cast<std::string::size_type>(session_id_size)};
SB_LOG(INFO) << "Update: " << id;
auto* session = GetSessionById(id);
if (session)
@@ -573,7 +573,7 @@
}
void DrmSystemOcdm::CloseSession(const void* session_id, int session_id_size) {
- std::string id = {static_cast<const char*>(session_id), session_id_size};
+ std::string id = {static_cast<const char*>(session_id), static_cast<std::string::size_type>(session_id_size)};
SB_LOG(INFO) << "Close: " << id;
auto* session = GetSessionById(id);
if (session)
@@ -666,7 +666,7 @@
for (auto& key_with_status : session_key.second) {
cached_ready_keys_.emplace(std::string{
reinterpret_cast<const char*>(key_with_status.key.identifier),
- key_with_status.key.identifier_size});
+ static_cast<std::string::size_type>(key_with_status.key.identifier_size)});
}
}
}
diff --git a/src/third_party/starboard/rdk/shared/platform_configuration/BUILD.gn b/src/third_party/starboard/rdk/shared/platform_configuration/BUILD.gn
index 255fb30..db89e5e 100644
--- a/src/third_party/starboard/rdk/shared/platform_configuration/BUILD.gn
+++ b/src/third_party/starboard/rdk/shared/platform_configuration/BUILD.gn
@@ -134,11 +134,21 @@
}
config("no_pedantic_warnings") {
- cflags_cc = [
- "-Wno-literal-suffix",
- "-Wno-deprecated-copy",
- "-Wno-invalid-offsetof",
- "-Wno-ignored-qualifiers",
- "-Wno-pessimizing-move",
- ]
+ if (!is_clang) {
+ cflags_cc = [
+ "-Wno-literal-suffix",
+ "-Wno-deprecated-copy",
+ "-Wno-invalid-offsetof",
+ "-Wno-ignored-qualifiers",
+ "-Wno-pessimizing-move",
+ ]
+ } else {
+ cflags = [
+ # Do not warn for implicit type conversions that may change a value.
+ "-Wno-conversion",
+ "-Wno-deprecated-declarations",
+ "-Wno-inconsistent-missing-override",
+ "-Wno-unknown-warning-option",
+ ]
+ }
}
diff --git a/src/third_party/starboard/rdk/shared/player/player_internal.cc b/src/third_party/starboard/rdk/shared/player/player_internal.cc
index 5131e67..3fe2993 100644
--- a/src/third_party/starboard/rdk/shared/player/player_internal.cc
+++ b/src/third_party/starboard/rdk/shared/player/player_internal.cc
@@ -860,7 +860,7 @@
gst_query_parse_position(query, 0, &position);
}
gst_query_unref(query);
- GST_INFO("Position from %s : %"GST_TIME_FORMAT, GST_ELEMENT_NAME(el), GST_TIME_ARGS(position));
+ GST_INFO("Position from %s : %" GST_TIME_FORMAT, GST_ELEMENT_NAME(el), GST_TIME_ARGS(position));
}
return TRUE;
};
diff --git a/src/third_party/starboard/rdk/shared/system/system_get_path.cc b/src/third_party/starboard/rdk/shared/system/system_get_path.cc
index c907f04..be5b04a 100644
--- a/src/third_party/starboard/rdk/shared/system/system_get_path.cc
+++ b/src/third_party/starboard/rdk/shared/system/system_get_path.cc
@@ -169,12 +169,12 @@
// Gets only the name portion of the current executable.
bool GetExecutableName(char* out_path, int path_size) {
- char path[kSbFileMaxPath] = {0};
- if (!GetExecutablePath(path, kSbFileMaxPath)) {
+ std::vector<char> path(kSbFileMaxPath, 0);
+ if (!GetExecutablePath(path.data(), kSbFileMaxPath)) {
return false;
}
- const char* last_slash = strrchr(path, '/');
+ const char* last_slash = strrchr(path.data(), '/');
if (starboard::strlcpy<char>(out_path, last_slash + 1, path_size) >= path_size) {
return false;
}
@@ -189,12 +189,12 @@
return true;
}
- char binary_name[kSbFileMaxPath] = {0};
- if (!GetExecutableName(binary_name, kSbFileMaxPath)) {
+ std::vector<char> binary_name(kSbFileMaxPath, 0);
+ if (!GetExecutableName(binary_name.data(), kSbFileMaxPath)) {
return false;
}
- int result = SbStringFormatF(out_path, path_size, "/tmp/%s-%d", binary_name,
+ int result = SbStringFormatF(out_path, path_size, "/tmp/%s-%d", binary_name.data(),
static_cast<int>(getpid()));
if (result < 0 || result >= path_size) {
out_path[0] = '\0';