All Build Warnings
It is currently only possible to specify additional linker settings with unsafeFlags
in Package.swift
. The use of this flag has the following side effect:
As the usage of the word “unsafe” implies, Swift Package Manager can’t safely determine if the build flags have any negative side effect on the build since certain flags can change the behavior of how it performs a build.
As some build flags can be exploited for unsupported or malicious behavior, the use of unsafe flags makes the products containing this target ineligible for use by other packages.
This applies to all third party dependencies. While the build produces a multitude of warnings, most of which are
Implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'int32_t' (aka 'int')
WebRTC Build Warnings
Variable '...' may be uninitialized when used here
- async_tcp_socket.cc:151:7
- physical_socket_server.cc:1496:30
- vad_audio_proc.cc:223:64
- frame_buffer.cc:267:31
'stream_size' is deprecated
- rtc_event_log_parser.cc:2485:24
Possible misuse of comma operator here
- echo_canceller3.cc:785:72
OpenGLES API deprecated.
- RTCDefaultShader
- RTCEAGLVideoView
- RTCI420TextureCache
- RTCNV12TextureCache
- RTCNV12TextureCache
- RTCOpenGLDefines
- RTCShader
Static Analysis
bugprone-move-forwarding-reference issues
Forwarding reference passed to std::move(), which may unexpectedly cause lvalues to be moved; use std::forward() instead
- In file included from sdk/objc/api/peerconnection/RTCAudioTrack.mm:15:
- In file included from sdk/objc/api/peerconnection/RTCPeerConnectionFactory+Private.h:13:
- In file included from api/peer_connection_interface.h:129:
- In file included from p2p/base/port_allocator.h:22:
- In file included from p2p/base/port.h:28:
- In file included from api/transport/field_trial_based_config.h:16:
- In file included from api/field_trials_registry.h:18:
- In file included from rtc_base/containers/flat_set.h:19:
10rtc_base/containers/flat_tree.h:84:9: warning: Forwarding reference passed to std::move(), which may unexpectedly cause lvalues to be moved; use std::forward() instead [bugprone-move-forwarding-reference]
11 lhs = std::move(rhs);
12 ^
131 warning generated.
For a total of 224 build warnings, the static analyzer produced an additional 603 results, which includes all third party dependencies. Some of those seem interesting enough to look into.