Remove clang:find_bad_constructs suppression from logging (part 1).

This CL removes //build/config/clang:find_bad_constructs from the
suppressed_configs list, which means that clang:find_bad_constructs
is now enabled on these translation units.

Bug: webrtc:9251, webrtc:163
Change-Id: I443c0c77cef30a3f5712f72ce88db80d1fb29874
Reviewed-on: https://webrtc-review.googlesource.com/96642
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24567}
diff --git a/logging/BUILD.gn b/logging/BUILD.gn
index 843c38d..eefb836 100644
--- a/logging/BUILD.gn
+++ b/logging/BUILD.gn
@@ -287,11 +287,6 @@
       "../rtc_base:rtc_base_approved",
       "//third_party/abseil-cpp/absl/memory",
     ]
-
-    if (!build_with_chromium && is_clang) {
-      # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
-      suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
-    }
   }
 
   if (rtc_include_tests) {
diff --git a/logging/rtc_event_log/rtc_event_log_parser.cc b/logging/rtc_event_log/rtc_event_log_parser.cc
index 27bb2b2..802af18 100644
--- a/logging/rtc_event_log/rtc_event_log_parser.cc
+++ b/logging/rtc_event_log/rtc_event_log_parser.cc
@@ -236,6 +236,13 @@
 
 }  // namespace
 
+ParsedRtcEventLog::ParsedRtcEventLog() = default;
+ParsedRtcEventLog::~ParsedRtcEventLog() = default;
+
+ParsedRtcEventLog::BweProbeResultEvent::BweProbeResultEvent() = default;
+ParsedRtcEventLog::BweProbeResultEvent::BweProbeResultEvent(
+    const BweProbeResultEvent&) = default;
+
 bool ParsedRtcEventLog::ParseFile(const std::string& filename) {
   std::ifstream file(filename, std::ios_base::in | std::ios_base::binary);
   if (!file.good() || !file.is_open()) {
diff --git a/logging/rtc_event_log/rtc_event_log_parser.h b/logging/rtc_event_log/rtc_event_log_parser.h
index 862a48d..310e5a8 100644
--- a/logging/rtc_event_log/rtc_event_log_parser.h
+++ b/logging/rtc_event_log/rtc_event_log_parser.h
@@ -46,6 +46,9 @@
   friend class RtcEventLogTestHelper;
 
  public:
+  ParsedRtcEventLog();
+  ~ParsedRtcEventLog();
+
   struct BweProbeClusterCreatedEvent {
     uint64_t timestamp;
     uint32_t id;
@@ -55,6 +58,9 @@
   };
 
   struct BweProbeResultEvent {
+    BweProbeResultEvent();
+    BweProbeResultEvent(const BweProbeResultEvent&);
+
     uint64_t timestamp;
     uint32_t id;
     absl::optional<uint64_t> bitrate_bps;
diff --git a/logging/rtc_event_log/rtc_event_log_parser_new.cc b/logging/rtc_event_log/rtc_event_log_parser_new.cc
index b2b3264..f905a04 100644
--- a/logging/rtc_event_log/rtc_event_log_parser_new.cc
+++ b/logging/rtc_event_log/rtc_event_log_parser_new.cc
@@ -272,6 +272,60 @@
 
 }  // namespace
 
+LoggedRtcpPacket::LoggedRtcpPacket(uint64_t timestamp_us,
+                                   const uint8_t* packet,
+                                   size_t total_length)
+    : timestamp_us(timestamp_us), raw_data(packet, packet + total_length) {}
+LoggedRtcpPacket::LoggedRtcpPacket(const LoggedRtcpPacket& rhs) = default;
+LoggedRtcpPacket::~LoggedRtcpPacket() = default;
+
+LoggedVideoSendConfig::LoggedVideoSendConfig(
+    int64_t timestamp_us,
+    const std::vector<rtclog::StreamConfig>& configs)
+    : timestamp_us(timestamp_us), configs(configs) {}
+LoggedVideoSendConfig::LoggedVideoSendConfig(const LoggedVideoSendConfig& rhs) =
+    default;
+LoggedVideoSendConfig::~LoggedVideoSendConfig() = default;
+
+ParsedRtcEventLogNew::~ParsedRtcEventLogNew() = default;
+
+ParsedRtcEventLogNew::LoggedRtpStreamIncoming::LoggedRtpStreamIncoming() =
+    default;
+ParsedRtcEventLogNew::LoggedRtpStreamIncoming::LoggedRtpStreamIncoming(
+    const LoggedRtpStreamIncoming& rhs) = default;
+ParsedRtcEventLogNew::LoggedRtpStreamIncoming::~LoggedRtpStreamIncoming() =
+    default;
+
+ParsedRtcEventLogNew::LoggedRtpStreamOutgoing::LoggedRtpStreamOutgoing() =
+    default;
+ParsedRtcEventLogNew::LoggedRtpStreamOutgoing::LoggedRtpStreamOutgoing(
+    const LoggedRtpStreamOutgoing& rhs) = default;
+ParsedRtcEventLogNew::LoggedRtpStreamOutgoing::~LoggedRtpStreamOutgoing() =
+    default;
+
+ParsedRtcEventLogNew::LoggedRtpStreamView::LoggedRtpStreamView(
+    uint32_t ssrc,
+    const LoggedRtpPacketIncoming* ptr,
+    size_t num_elements)
+    : ssrc(ssrc),
+      packet_view(PacketView<const LoggedRtpPacket>::Create(
+          ptr,
+          num_elements,
+          offsetof(LoggedRtpPacketIncoming, rtp))) {}
+
+ParsedRtcEventLogNew::LoggedRtpStreamView::LoggedRtpStreamView(
+    uint32_t ssrc,
+    const LoggedRtpPacketOutgoing* ptr,
+    size_t num_elements)
+    : ssrc(ssrc),
+      packet_view(PacketView<const LoggedRtpPacket>::Create(
+          ptr,
+          num_elements,
+          offsetof(LoggedRtpPacketOutgoing, rtp))) {}
+
+ParsedRtcEventLogNew::LoggedRtpStreamView::LoggedRtpStreamView(
+    const LoggedRtpStreamView&) = default;
+
 ParsedRtcEventLogNew::ParsedRtcEventLogNew(
     UnconfiguredHeaderExtensions parse_unconfigured_header_extensions)
     : parse_unconfigured_header_extensions_(
diff --git a/logging/rtc_event_log/rtc_event_log_parser_new.h b/logging/rtc_event_log/rtc_event_log_parser_new.h
index a4a1302..53d917c 100644
--- a/logging/rtc_event_log/rtc_event_log_parser_new.h
+++ b/logging/rtc_event_log/rtc_event_log_parser_new.h
@@ -178,8 +178,9 @@
 struct LoggedRtcpPacket {
   LoggedRtcpPacket(uint64_t timestamp_us,
                    const uint8_t* packet,
-                   size_t total_length)
-      : timestamp_us(timestamp_us), raw_data(packet, packet + total_length) {}
+                   size_t total_length);
+  LoggedRtcpPacket(const LoggedRtcpPacket&);
+  ~LoggedRtcpPacket();
   int64_t timestamp_us;
   std::vector<uint8_t> raw_data;
   int64_t log_time_us() const { return timestamp_us; }
@@ -286,8 +287,9 @@
 
 struct LoggedVideoSendConfig {
   LoggedVideoSendConfig(int64_t timestamp_us,
-                        const std::vector<rtclog::StreamConfig> configs)
-      : timestamp_us(timestamp_us), configs(configs) {}
+                        const std::vector<rtclog::StreamConfig>& configs);
+  LoggedVideoSendConfig(const LoggedVideoSendConfig&);
+  ~LoggedVideoSendConfig();
   int64_t timestamp_us;
   std::vector<rtclog::StreamConfig> configs;
   int64_t log_time_us() const { return timestamp_us; }
@@ -470,6 +472,8 @@
   friend class RtcEventLogTestHelper;
 
  public:
+  ~ParsedRtcEventLogNew();
+
   enum class EventType {
     UNKNOWN_EVENT = 0,
     LOG_START = 1,
@@ -499,11 +503,17 @@
   };
 
   struct LoggedRtpStreamIncoming {
+    LoggedRtpStreamIncoming();
+    LoggedRtpStreamIncoming(const LoggedRtpStreamIncoming&);
+    ~LoggedRtpStreamIncoming();
     uint32_t ssrc;
     std::vector<LoggedRtpPacketIncoming> incoming_packets;
   };
 
   struct LoggedRtpStreamOutgoing {
+    LoggedRtpStreamOutgoing();
+    LoggedRtpStreamOutgoing(const LoggedRtpStreamOutgoing&);
+    ~LoggedRtpStreamOutgoing();
     uint32_t ssrc;
     std::vector<LoggedRtpPacketOutgoing> outgoing_packets;
   };
@@ -511,20 +521,11 @@
   struct LoggedRtpStreamView {
     LoggedRtpStreamView(uint32_t ssrc,
                         const LoggedRtpPacketIncoming* ptr,
-                        size_t num_elements)
-        : ssrc(ssrc),
-          packet_view(PacketView<const LoggedRtpPacket>::Create(
-              ptr,
-              num_elements,
-              offsetof(LoggedRtpPacketIncoming, rtp))) {}
+                        size_t num_elements);
     LoggedRtpStreamView(uint32_t ssrc,
                         const LoggedRtpPacketOutgoing* ptr,
-                        size_t num_elements)
-        : ssrc(ssrc),
-          packet_view(PacketView<const LoggedRtpPacket>::Create(
-              ptr,
-              num_elements,
-              offsetof(LoggedRtpPacketOutgoing, rtp))) {}
+                        size_t num_elements);
+    LoggedRtpStreamView(const LoggedRtpStreamView&);
     uint32_t ssrc;
     PacketView<const LoggedRtpPacket> packet_view;
   };
diff --git a/modules/rtp_rtcp/source/rtcp_packet/nack.cc b/modules/rtp_rtcp/source/rtcp_packet/nack.cc
index f83e5c0..6a4a0bd 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/nack.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/nack.cc
@@ -46,8 +46,9 @@
 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 //   |            PID                |             BLP               |
 //   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-Nack::Nack() {}
-Nack::~Nack() {}
+Nack::Nack() = default;
+Nack::Nack(const Nack& rhs) = default;
+Nack::~Nack() = default;
 
 bool Nack::Parse(const CommonHeader& packet) {
   RTC_DCHECK_EQ(packet.type(), kPacketType);
diff --git a/modules/rtp_rtcp/source/rtcp_packet/nack.h b/modules/rtp_rtcp/source/rtcp_packet/nack.h
index 0e462f9..9153733 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/nack.h
+++ b/modules/rtp_rtcp/source/rtcp_packet/nack.h
@@ -23,6 +23,7 @@
  public:
   static constexpr uint8_t kFeedbackMessageType = 1;
   Nack();
+  Nack(const Nack&);
   ~Nack() override;
 
   // Parse assumes header is already parsed and validated.
diff --git a/modules/rtp_rtcp/source/rtcp_packet/receiver_report.cc b/modules/rtp_rtcp/source/rtcp_packet/receiver_report.cc
index 5677db2..569a66d 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/receiver_report.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/receiver_report.cc
@@ -35,6 +35,8 @@
 
 ReceiverReport::ReceiverReport() : sender_ssrc_(0) {}
 
+ReceiverReport::ReceiverReport(const ReceiverReport& rhs) = default;
+
 ReceiverReport::~ReceiverReport() = default;
 
 bool ReceiverReport::Parse(const CommonHeader& packet) {
diff --git a/modules/rtp_rtcp/source/rtcp_packet/receiver_report.h b/modules/rtp_rtcp/source/rtcp_packet/receiver_report.h
index 3dc7920..8f143da 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/receiver_report.h
+++ b/modules/rtp_rtcp/source/rtcp_packet/receiver_report.h
@@ -26,6 +26,7 @@
   static constexpr size_t kMaxNumberOfReportBlocks = 0x1f;
 
   ReceiverReport();
+  ReceiverReport(const ReceiverReport&);
   ~ReceiverReport() override;
 
   // Parse assumes header is already parsed and validated.
diff --git a/modules/rtp_rtcp/source/rtcp_packet/remb.cc b/modules/rtp_rtcp/source/rtcp_packet/remb.cc
index 2b492af..0240611 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/remb.cc
+++ b/modules/rtp_rtcp/source/rtcp_packet/remb.cc
@@ -41,6 +41,8 @@
 
 Remb::Remb() : bitrate_bps_(0) {}
 
+Remb::Remb(const Remb& rhs) = default;
+
 Remb::~Remb() = default;
 
 bool Remb::Parse(const CommonHeader& packet) {
diff --git a/modules/rtp_rtcp/source/rtcp_packet/remb.h b/modules/rtp_rtcp/source/rtcp_packet/remb.h
index 5f4aef8..6570e59 100644
--- a/modules/rtp_rtcp/source/rtcp_packet/remb.h
+++ b/modules/rtp_rtcp/source/rtcp_packet/remb.h
@@ -26,6 +26,7 @@
   static constexpr size_t kMaxNumberOfSsrcs = 0xff;
 
   Remb();
+  Remb(const Remb&);
   ~Remb() override;
 
   // Parse assumes header is already parsed and validated.