HomeFreeBSD

devel/electron27: fix build with clang 18

Description

devel/electron27: fix build with clang 18

Clang 18 has become more stringent about narrowing in initializer lists,

resulting in errors when building devel/electron27:

../../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

Details

Provenance
dimAuthored on Feb 22 2024, 9:24 PM
tagattieCommitted on Feb 22 2024, 9:27 PM
Parents
R11:664c5df76078: devel/electron26: fix build with clang 18
Branches
Unknown
Tags
Unknown