FreeBSD Bugzilla – Attachment 248558 Details for
Bug 277129
devel/electron25: fix build with clang 18
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
devel/electron25: fix build with clang 18
devel__electron25-fix-clang18-build-1.diff (text/plain), 10.16 KB, created by
Dimitry Andric
on 2024-02-18 13:00:11 UTC
(
hide
)
Description:
devel/electron25: fix build with clang 18
Filename:
MIME Type:
Creator:
Dimitry Andric
Created:
2024-02-18 13:00:11 UTC
Size:
10.16 KB
patch
obsolete
>commit 2ac40c096e28d5800a2fd878067a8509cbd704be >Author: Dimitry Andric <dim@FreeBSD.org> >Date: 2024-02-18T13:59:18+01:00 > > devel/electron25: fix build with clang 18 > > Clang 18 has become more stringent about narrowing in initializer lists, > resulting in errors when building devel/electron25: > > ../../third_party/webrtc/pc/legacy_stats_collector.cc:191:54: error: non-constant-expression cannot be narrowed from type 'double' to 'float' in initializer list [-Wc++11-narrowing-const-reference] > 191 | {StatsReport::kStatsValueNameTotalAudioEnergy, info.total_output_energy}, > | ^~~~~~~~~~~~~~~~~~~~~~~~ > ../../third_party/webrtc/pc/legacy_stats_collector.cc:193:8: error: non-constant-expression cannot be narrowed from type 'double' to 'float' in initializer list [-Wc++11-narrowing-const-reference] > 193 | info.total_output_duration}}; > | ^~~~~~~~~~~~~~~~~~~~~~~~~~ > > and later: > > In file included from ../../cc/layers/mirror_layer_impl.cc:5: > ../../cc/layers/mirror_layer_impl.h:59:40: error: non-constant-expression cannot be narrowed from type 'int' to 'unsigned long' in initializer list [-Wc++11-narrowing-const-reference] > 59 | return viz::CompositorRenderPassId{mirrored_layer_id()}; > | ^~~~~~~~~~~~~~~~~~~ > > The first batch of errors can be fixed similarly to bug 276997, by > cherry-picking <https://webrtc.googlesource.com/src/+/267f9bdd53> into the > thirdparty directory. > > The second batch of errors can be fixed by cherry-picking > <https://chromium.googlesource.com/chromium/src/+/5e9fb4130a537>. > > PR: 277129 > MFH: 2024Q1 > >diff --git a/devel/electron25/files/patch-cc_layers_mirror__layer__impl.h b/devel/electron25/files/patch-cc_layers_mirror__layer__impl.h >new file mode 100644 >index 000000000000..ae2d3d694a8c >--- /dev/null >+++ b/devel/electron25/files/patch-cc_layers_mirror__layer__impl.h >@@ -0,0 +1,20 @@ >+--- cc/layers/mirror_layer_impl.h.orig 2023-08-12 07:07:10 UTC >++++ cc/layers/mirror_layer_impl.h >+@@ -5,6 +5,7 @@ >+ #ifndef CC_LAYERS_MIRROR_LAYER_IMPL_H_ >+ #define CC_LAYERS_MIRROR_LAYER_IMPL_H_ >+ >++#include <cstdint> >+ #include <memory> >+ >+ #include "base/memory/ptr_util.h" >+@@ -56,7 +57,8 @@ class CC_EXPORT MirrorLayerImpl : public LayerImpl { >+ private: >+ const char* LayerTypeAsString() const override; >+ viz::CompositorRenderPassId mirrored_layer_render_pass_id() const { >+- return viz::CompositorRenderPassId{mirrored_layer_id()}; >++ return viz::CompositorRenderPassId{ >++ static_cast<uint64_t>(mirrored_layer_id())}; >+ } >+ >+ int mirrored_layer_id_ = 0; >diff --git a/devel/electron25/files/patch-components_power__metrics_energy__metrics__provider__linux.cc b/devel/electron25/files/patch-components_power__metrics_energy__metrics__provider__linux.cc >new file mode 100644 >index 000000000000..1643b08769fe >--- /dev/null >+++ b/devel/electron25/files/patch-components_power__metrics_energy__metrics__provider__linux.cc >@@ -0,0 +1,14 @@ >+--- components/power_metrics/energy_metrics_provider_linux.cc.orig 2023-08-12 07:07:15 UTC >++++ components/power_metrics/energy_metrics_provider_linux.cc >+@@ -58,9 +58,9 @@ base::ScopedFD OpenPerfEvent(perf_event_attr* perf_att >+ // value of less than 1. Here, we only consider cpu0. See details in >+ // https://man7.org/linux/man-pages/man2/perf_event_open.2.html. >+ base::ScopedFD OpenPerfEvent(perf_event_attr* perf_attr) { >+- base::ScopedFD perf_fd{syscall(__NR_perf_event_open, perf_attr, /*pid=*/-1, >++ base::ScopedFD perf_fd(syscall(__NR_perf_event_open, perf_attr, /*pid=*/-1, >+ /*cpu=*/0, /*group_fd=*/-1, >+- PERF_FLAG_FD_CLOEXEC)}; >++ static_cast<int>(PERF_FLAG_FD_CLOEXEC))); >+ return perf_fd; >+ } >+ >diff --git a/devel/electron25/files/patch-third__party_webrtc_pc_legacy__stats__collector.cc b/devel/electron25/files/patch-third__party_webrtc_pc_legacy__stats__collector.cc >new file mode 100644 >index 000000000000..56f072059231 >--- /dev/null >+++ b/devel/electron25/files/patch-third__party_webrtc_pc_legacy__stats__collector.cc >@@ -0,0 +1,114 @@ >+commit 267f9bdd53a37d1cbee760d5af07880198e1beef >+Author: Tommi <tommi@webrtc.org> >+Date: 2023-12-21T14:08:26+01:00 >+ >+ Update LegacyStatsCollector to conform with Wc++11-narrowing >+ >+ Bug: none >+ Change-Id: Ida6a1af5c324473a55ea4f3b143862ea016ff50a >+ Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/332240 >+ Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org> >+ Reviewed-by: Harald Alvestrand <hta@webrtc.org> >+ Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org> >+ Reviewed-by: Alexander Kornienko <alexfh@google.com> >+ Reviewed-by: Henrik Boström <hbos@webrtc.org> >+ Cr-Commit-Position: refs/heads/main@{#41432} >+ >+--- third_party/webrtc/pc/legacy_stats_collector.cc.orig 2023-08-12 07:13:59 UTC >++++ third_party/webrtc/pc/legacy_stats_collector.cc >+@@ -188,9 +188,10 @@ void ExtractStats(const cricket::VoiceReceiverInfo& in >+ {StatsReport::kStatsValueNameAccelerateRate, info.accelerate_rate}, >+ {StatsReport::kStatsValueNamePreemptiveExpandRate, >+ info.preemptive_expand_rate}, >+- {StatsReport::kStatsValueNameTotalAudioEnergy, info.total_output_energy}, >++ {StatsReport::kStatsValueNameTotalAudioEnergy, >++ static_cast<float>(info.total_output_energy)}, >+ {StatsReport::kStatsValueNameTotalSamplesDuration, >+- info.total_output_duration}}; >++ static_cast<float>(info.total_output_duration)}}; >+ >+ const IntForAdd ints[] = { >+ {StatsReport::kStatsValueNameCurrentDelayMs, info.delay_estimate_ms}, >+@@ -244,9 +245,10 @@ void ExtractStats(const cricket::VoiceSenderInfo& info >+ SetAudioProcessingStats(report, info.apm_statistics); >+ >+ const FloatForAdd floats[] = { >+- {StatsReport::kStatsValueNameTotalAudioEnergy, info.total_input_energy}, >++ {StatsReport::kStatsValueNameTotalAudioEnergy, >++ static_cast<float>(info.total_input_energy)}, >+ {StatsReport::kStatsValueNameTotalSamplesDuration, >+- info.total_input_duration}}; >++ static_cast<float>(info.total_input_duration)}}; >+ >+ RTC_DCHECK_GE(info.audio_level, 0); >+ const IntForAdd ints[] = { >+@@ -340,7 +342,8 @@ void ExtractStats(const cricket::VideoReceiverInfo& in >+ {StatsReport::kStatsValueNamePlisSent, info.plis_sent}, >+ {StatsReport::kStatsValueNameRenderDelayMs, info.render_delay_ms}, >+ {StatsReport::kStatsValueNameTargetDelayMs, info.target_delay_ms}, >+- {StatsReport::kStatsValueNameFramesDecoded, info.frames_decoded}, >++ {StatsReport::kStatsValueNameFramesDecoded, >++ static_cast<int>(info.frames_decoded)}, >+ }; >+ >+ for (const auto& i : ints) >+@@ -384,15 +387,19 @@ void ExtractStats(const cricket::VideoSenderInfo& info >+ info.encode_usage_percent}, >+ {StatsReport::kStatsValueNameFirsReceived, info.firs_received}, >+ {StatsReport::kStatsValueNameFrameHeightSent, info.send_frame_height}, >+- {StatsReport::kStatsValueNameFrameRateInput, round(info.framerate_input)}, >++ {StatsReport::kStatsValueNameFrameRateInput, >++ static_cast<int>(round(info.framerate_input))}, >+ {StatsReport::kStatsValueNameFrameRateSent, info.framerate_sent}, >+ {StatsReport::kStatsValueNameFrameWidthSent, info.send_frame_width}, >+- {StatsReport::kStatsValueNameNacksReceived, info.nacks_received}, >++ {StatsReport::kStatsValueNameNacksReceived, >++ static_cast<int>(info.nacks_received)}, >+ {StatsReport::kStatsValueNamePacketsLost, info.packets_lost}, >+ {StatsReport::kStatsValueNamePacketsSent, info.packets_sent}, >+ {StatsReport::kStatsValueNamePlisReceived, info.plis_received}, >+- {StatsReport::kStatsValueNameFramesEncoded, info.frames_encoded}, >+- {StatsReport::kStatsValueNameHugeFramesSent, info.huge_frames_sent}, >++ {StatsReport::kStatsValueNameFramesEncoded, >++ static_cast<int>(info.frames_encoded)}, >++ {StatsReport::kStatsValueNameHugeFramesSent, >++ static_cast<int>(info.huge_frames_sent)}, >+ }; >+ >+ for (const auto& i : ints) >+@@ -780,19 +787,25 @@ StatsReport* LegacyStatsCollector::AddConnectionInfoRe >+ AddCandidateReport(remote_candidate_stats, false)->id()); >+ >+ const Int64ForAdd int64s[] = { >+- {StatsReport::kStatsValueNameBytesReceived, info.recv_total_bytes}, >+- {StatsReport::kStatsValueNameBytesSent, info.sent_total_bytes}, >+- {StatsReport::kStatsValueNamePacketsSent, info.sent_total_packets}, >+- {StatsReport::kStatsValueNameRtt, info.rtt}, >++ {StatsReport::kStatsValueNameBytesReceived, >++ static_cast<int64_t>(info.recv_total_bytes)}, >++ {StatsReport::kStatsValueNameBytesSent, >++ static_cast<int64_t>(info.sent_total_bytes)}, >++ {StatsReport::kStatsValueNamePacketsSent, >++ static_cast<int64_t>(info.sent_total_packets)}, >++ {StatsReport::kStatsValueNameRtt, static_cast<int64_t>(info.rtt)}, >+ {StatsReport::kStatsValueNameSendPacketsDiscarded, >+- info.sent_discarded_packets}, >++ static_cast<int64_t>(info.sent_discarded_packets)}, >+ {StatsReport::kStatsValueNameSentPingRequestsTotal, >+- info.sent_ping_requests_total}, >++ static_cast<int64_t>(info.sent_ping_requests_total)}, >+ {StatsReport::kStatsValueNameSentPingRequestsBeforeFirstResponse, >+- info.sent_ping_requests_before_first_response}, >+- {StatsReport::kStatsValueNameSentPingResponses, info.sent_ping_responses}, >+- {StatsReport::kStatsValueNameRecvPingRequests, info.recv_ping_requests}, >+- {StatsReport::kStatsValueNameRecvPingResponses, info.recv_ping_responses}, >++ static_cast<int64_t>(info.sent_ping_requests_before_first_response)}, >++ {StatsReport::kStatsValueNameSentPingResponses, >++ static_cast<int64_t>(info.sent_ping_responses)}, >++ {StatsReport::kStatsValueNameRecvPingRequests, >++ static_cast<int64_t>(info.recv_ping_requests)}, >++ {StatsReport::kStatsValueNameRecvPingResponses, >++ static_cast<int64_t>(info.recv_ping_responses)}, >+ }; >+ for (const auto& i : int64s) >+ report->AddInt64(i.name, i.value);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 277129
: 248558