build: stop defining _DEBUG, rely only on NDEBUG instead

NDEBUG is more standard on non-Microsoft platforms, and _DEBUG is
technically a reserved identifier.

Change-Id: I24c951032d50b37853dc1a38ac844b0be5ac8937
diff --git a/.waf-tools/default-compiler-flags.py b/.waf-tools/default-compiler-flags.py
index 0f90681..7784d9f 100644
--- a/.waf-tools/default-compiler-flags.py
+++ b/.waf-tools/default-compiler-flags.py
@@ -136,7 +136,7 @@
 
     def getDebugFlags(self, conf):
         """Get dict of CXXFLAGS, LINKFLAGS, and DEFINES that are needed only in debug mode"""
-        return {'CXXFLAGS': [], 'LINKFLAGS': [], 'DEFINES': ['_DEBUG']}
+        return {'CXXFLAGS': [], 'LINKFLAGS': [], 'DEFINES': []}
 
     def getOptimizedFlags(self, conf):
         """Get dict of CXXFLAGS, LINKFLAGS, and DEFINES that are needed only in optimized mode"""
diff --git a/daemon/face/datagram-transport.hpp b/daemon/face/datagram-transport.hpp
index e34e443..923dde3 100644
--- a/daemon/face/datagram-transport.hpp
+++ b/daemon/face/datagram-transport.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2023,  Regents of the University of California,
+ * Copyright (c) 2014-2024,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -99,14 +99,13 @@
 
 private:
   std::array<uint8_t, ndn::MAX_NDN_PACKET_SIZE> m_receiveBuffer;
-  bool m_hasRecentlyReceived;
+  bool m_hasRecentlyReceived = false;
 };
 
 
 template<class T, class U>
 DatagramTransport<T, U>::DatagramTransport(typename DatagramTransport::protocol::socket&& socket)
   : m_socket(std::move(socket))
-  , m_hasRecentlyReceived(false)
 {
   boost::asio::socket_base::send_buffer_size sendBufferSizeOption;
   boost::system::error_code error;
diff --git a/daemon/face/ethernet-channel.cpp b/daemon/face/ethernet-channel.cpp
index 655f313..dfd5bf3 100644
--- a/daemon/face/ethernet-channel.cpp
+++ b/daemon/face/ethernet-channel.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2023,  Regents of the University of California,
+ * Copyright (c) 2014-2024,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -40,13 +40,9 @@
 EthernetChannel::EthernetChannel(shared_ptr<const ndn::net::NetworkInterface> localEndpoint,
                                  time::nanoseconds idleTimeout)
   : m_localEndpoint(std::move(localEndpoint))
-  , m_isListening(false)
   , m_socket(getGlobalIoService())
   , m_pcap(m_localEndpoint->getName())
   , m_idleFaceTimeout(idleTimeout)
-#ifdef _DEBUG
-  , m_nDropped(0)
-#endif
 {
   setUri(FaceUri::fromDev(m_localEndpoint->getName()));
   NFD_LOG_CHAN_INFO("Creating channel");
@@ -137,7 +133,7 @@
     }
   }
 
-#ifdef _DEBUG
+#ifndef NDEBUG
   size_t nDropped = m_pcap.getNDropped();
   if (nDropped - m_nDropped > 0)
     NFD_LOG_CHAN_DEBUG("Detected " << nDropped - m_nDropped << " dropped frame(s)");
diff --git a/daemon/face/ethernet-channel.hpp b/daemon/face/ethernet-channel.hpp
index 302b6e7..c675a52 100644
--- a/daemon/face/ethernet-channel.hpp
+++ b/daemon/face/ethernet-channel.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2023,  Regents of the University of California,
+ * Copyright (c) 2014-2024,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -121,15 +121,15 @@
 
 private:
   shared_ptr<const ndn::net::NetworkInterface> m_localEndpoint;
-  bool m_isListening;
+  bool m_isListening = false;
   boost::asio::posix::stream_descriptor m_socket;
   PcapHelper m_pcap;
   std::map<ethernet::Address, shared_ptr<Face>> m_channelFaces;
   const time::nanoseconds m_idleFaceTimeout; ///< Timeout for automatic closure of idle on-demand faces
 
-#ifdef _DEBUG
-  /// number of frames dropped by the kernel, as reported by libpcap
-  size_t m_nDropped;
+#ifndef NDEBUG
+  /// Number of frames dropped by the kernel, as reported by libpcap
+  size_t m_nDropped = 0;
 #endif
 };
 
diff --git a/daemon/face/ethernet-protocol.cpp b/daemon/face/ethernet-protocol.cpp
index 24478f8..137ff27 100644
--- a/daemon/face/ethernet-protocol.cpp
+++ b/daemon/face/ethernet-protocol.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2022,  Regents of the University of California,
+ * Copyright (c) 2014-2024,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -43,7 +43,7 @@
   if (ethertype != ETHERTYPE_NDN)
     return {nullptr, "Received frame with wrong ethertype: " + to_string(ethertype)};
 
-#ifdef _DEBUG
+#ifndef NDEBUG
   Address shost(eh->ether_shost);
   if (shost == localAddr)
     return {nullptr, "Received frame sent by this host"};
diff --git a/daemon/face/ethernet-transport.cpp b/daemon/face/ethernet-transport.cpp
index bc496d6..43f7e91 100644
--- a/daemon/face/ethernet-transport.cpp
+++ b/daemon/face/ethernet-transport.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2023,  Regents of the University of California,
+ * Copyright (c) 2014-2024,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -43,10 +43,6 @@
   , m_srcAddress(localEndpoint.getEthernetAddress())
   , m_destAddress(remoteEndpoint)
   , m_interfaceName(localEndpoint.getName())
-  , m_hasRecentlyReceived(false)
-#ifdef _DEBUG
-  , m_nDropped(0)
-#endif
 {
   try {
     m_pcap.activate(DLT_EN10MB);
@@ -183,7 +179,7 @@
     }
   }
 
-#ifdef _DEBUG
+#ifndef NDEBUG
   size_t nDropped = m_pcap.getNDropped();
   if (nDropped - m_nDropped > 0)
     NFD_LOG_FACE_DEBUG("Detected " << nDropped - m_nDropped << " dropped frame(s)");
diff --git a/daemon/face/ethernet-transport.hpp b/daemon/face/ethernet-transport.hpp
index a1d3c80..065919e 100644
--- a/daemon/face/ethernet-transport.hpp
+++ b/daemon/face/ethernet-transport.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2023,  Regents of the University of California,
+ * Copyright (c) 2014-2024,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -106,10 +106,10 @@
 private:
   signal::ScopedConnection m_netifStateChangedConn;
   signal::ScopedConnection m_netifMtuChangedConn;
-  bool m_hasRecentlyReceived;
-#ifdef _DEBUG
-  /// number of frames dropped by the kernel, as reported by libpcap
-  size_t m_nDropped;
+  bool m_hasRecentlyReceived = false;
+#ifndef NDEBUG
+  /// Number of frames dropped by the kernel, as reported by libpcap
+  size_t m_nDropped = 0;
 #endif
 };
 
diff --git a/daemon/face/generic-link-service.cpp b/daemon/face/generic-link-service.cpp
index 21599e3..de073b4 100644
--- a/daemon/face/generic-link-service.cpp
+++ b/daemon/face/generic-link-service.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2023,  Regents of the University of California,
+ * Copyright (c) 2014-2024,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -44,9 +44,6 @@
   , m_fragmenter(m_options.fragmenterOptions, this)
   , m_reassembler(m_options.reassemblerOptions, this)
   , m_reliability(m_options.reliabilityOptions, this)
-  , m_lastSeqNo(-2)
-  , m_nextMarkTime(time::steady_clock::time_point::max())
-  , m_nMarkedSinceInMarkingState(0)
 {
   m_reassembler.beforeTimeout.connect([this] (auto&&...) { ++nReassemblyTimeouts; });
   m_reliability.onDroppedInterest.connect([this] (const auto& i) { notifyDroppedInterest(i); });
diff --git a/daemon/face/generic-link-service.hpp b/daemon/face/generic-link-service.hpp
index 7b5a427..547ca67 100644
--- a/daemon/face/generic-link-service.hpp
+++ b/daemon/face/generic-link-service.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2022,  Regents of the University of California,
+ * Copyright (c) 2014-2024,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -308,13 +308,13 @@
   LpFragmenter m_fragmenter;
   LpReassembler m_reassembler;
   LpReliability m_reliability;
-  lp::Sequence m_lastSeqNo;
+  lp::Sequence m_lastSeqNo = static_cast<lp::Sequence>(-2);
 
 NFD_PUBLIC_WITH_TESTS_ELSE_PRIVATE:
   /// Time to mark next packet due to send queue congestion
-  time::steady_clock::time_point m_nextMarkTime;
-  /// number of marked packets in the current incident of congestion
-  size_t m_nMarkedSinceInMarkingState;
+  time::steady_clock::time_point m_nextMarkTime = time::steady_clock::time_point::max();
+  /// Number of marked packets in the current incident of congestion
+  size_t m_nMarkedSinceInMarkingState = 0;
 
   friend LpReliability;
 };
diff --git a/daemon/face/lp-reliability.cpp b/daemon/face/lp-reliability.cpp
index 4019902..107212e 100644
--- a/daemon/face/lp-reliability.cpp
+++ b/daemon/face/lp-reliability.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2023,  Regents of the University of California,
+ * Copyright (c) 2014-2024,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -400,21 +400,6 @@
   }
 }
 
-LpReliability::UnackedFrag::UnackedFrag(lp::Packet pkt)
-  : pkt(std::move(pkt))
-  , sendTime(time::steady_clock::now())
-  , retxCount(0)
-  , nGreaterSeqAcks(0)
-{
-}
-
-LpReliability::NetPkt::NetPkt(lp::Packet&& pkt, bool isInterest)
-  : pkt(std::move(pkt))
-  , isInterest(isInterest)
-  , didRetx(false)
-{
-}
-
 std::ostream&
 operator<<(std::ostream& os, const FaceLogHelper<LpReliability>& flh)
 {
diff --git a/daemon/face/lp-reliability.hpp b/daemon/face/lp-reliability.hpp
index 415a06d..3a4d703 100644
--- a/daemon/face/lp-reliability.hpp
+++ b/daemon/face/lp-reliability.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2022,  Regents of the University of California,
+ * Copyright (c) 2014-2024,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -174,14 +174,17 @@
   {
   public:
     explicit
-    UnackedFrag(lp::Packet pkt);
+    UnackedFrag(lp::Packet p)
+      : pkt(std::move(p))
+    {
+    }
 
   public:
     lp::Packet pkt;
     scheduler::ScopedEventId rtoTimer;
-    time::steady_clock::time_point sendTime;
-    size_t retxCount;
-    size_t nGreaterSeqAcks; //!< number of Acks received for sequences greater than this fragment
+    time::steady_clock::time_point sendTime = time::steady_clock::now();
+    size_t retxCount = 0;
+    size_t nGreaterSeqAcks = 0; ///< Number of Acks received for sequences greater than this fragment
     shared_ptr<NetPkt> netPkt;
   };
 
@@ -191,17 +194,21 @@
   class NetPkt
   {
   public:
-    NetPkt(lp::Packet&& pkt, bool isInterest);
+    NetPkt(lp::Packet&& p, bool isInterest)
+      : pkt(std::move(p))
+      , isInterest(isInterest)
+    {
+    }
 
   public:
     std::vector<UnackedFrags::iterator> unackedFrags;
     lp::Packet pkt;
     bool isInterest;
-    bool didRetx;
+    bool didRetx = false;
   };
 
   Options m_options;
-  GenericLinkService* m_linkService;
+  GenericLinkService* m_linkService = nullptr;
   UnackedFrags m_unackedFrags;
   // An iterator that points to the first unacknowledged fragment in the current window. The window
   // can wrap around so that the beginning of the window is at a TxSequence greater than other
diff --git a/daemon/face/stream-transport.hpp b/daemon/face/stream-transport.hpp
index 448b28b..bd6cc12 100644
--- a/daemon/face/stream-transport.hpp
+++ b/daemon/face/stream-transport.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2023,  Regents of the University of California,
+ * Copyright (c) 2014-2024,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -105,17 +105,15 @@
 
 private:
   uint8_t m_receiveBuffer[ndn::MAX_NDN_PACKET_SIZE];
-  size_t m_receiveBufferSize;
+  size_t m_receiveBufferSize = 0;
   std::queue<Block> m_sendQueue;
-  size_t m_sendQueueBytes;
+  size_t m_sendQueueBytes = 0;
 };
 
 
 template<class T>
 StreamTransport<T>::StreamTransport(typename StreamTransport::protocol::socket&& socket)
   : m_socket(std::move(socket))
-  , m_receiveBufferSize(0)
-  , m_sendQueueBytes(0)
 {
   // No queue capacity is set because there is no theoretical limit to the size of m_sendQueue.
   // Therefore, protecting against send queue overflows is less critical than in other transport
diff --git a/tests/core/ndebug.t.cpp b/tests/core/ndebug.t.cpp
index 99e8938..4e4a2d9 100644
--- a/tests/core/ndebug.t.cpp
+++ b/tests/core/ndebug.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2022,  Regents of the University of California,
+ * Copyright (c) 2014-2024,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -31,24 +31,25 @@
 
 BOOST_AUTO_TEST_SUITE(TestNdebug)
 
-BOOST_AUTO_TEST_CASE(AssertFalse)
+BOOST_AUTO_TEST_CASE(Assert)
 {
-#ifndef _DEBUG
+  BOOST_TEST(BOOST_IS_DEFINED(BOOST_ASSERT_IS_VOID) == BOOST_IS_DEFINED(NDEBUG));
+
+#ifdef NDEBUG
   // in release builds, assertion shouldn't execute
   BOOST_ASSERT(false);
+  BOOST_VERIFY(false);
 #endif
-  // Trivial check to avoid "test case did not check any assertions" message from Boost.Test
-  BOOST_CHECK(true);
 }
 
 BOOST_AUTO_TEST_CASE(SideEffect)
 {
   int a = 1;
   BOOST_ASSERT((a = 2) > 0);
-#ifdef _DEBUG
-  BOOST_CHECK_EQUAL(a, 2);
+#ifdef NDEBUG
+  BOOST_TEST(a == 1);
 #else
-  BOOST_CHECK_EQUAL(a, 1);
+  BOOST_TEST(a == 2);
 #endif
 }
 
diff --git a/tests/other/cs-benchmark.cpp b/tests/other/cs-benchmark.cpp
index 793ccf1..4446d31 100644
--- a/tests/other/cs-benchmark.cpp
+++ b/tests/other/cs-benchmark.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2022,  Regents of the University of California,
+ * Copyright (c) 2014-2024,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -39,7 +39,7 @@
 protected:
   CsBenchmarkFixture()
   {
-#ifdef _DEBUG
+#ifndef NDEBUG
     std::cerr << "Benchmark compiled in debug mode is unreliable, please compile in release mode.\n";
 #endif
 
diff --git a/tests/other/face-benchmark.cpp b/tests/other/face-benchmark.cpp
index c5c666d..4c1ac6a 100644
--- a/tests/other/face-benchmark.cpp
+++ b/tests/other/face-benchmark.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2023,  Regents of the University of California,
+ * Copyright (c) 2014-2024,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -177,7 +177,7 @@
 int
 main(int argc, char** argv)
 {
-#ifdef _DEBUG
+#ifndef NDEBUG
   std::cerr << "Benchmark compiled in debug mode is unreliable, please compile in release mode.\n";
 #endif
 
diff --git a/tests/other/pit-fib-benchmark.cpp b/tests/other/pit-fib-benchmark.cpp
index a154297..f750f90 100644
--- a/tests/other/pit-fib-benchmark.cpp
+++ b/tests/other/pit-fib-benchmark.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2022,  Regents of the University of California,
+ * Copyright (c) 2014-2024,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -42,7 +42,7 @@
     : m_fib(m_nameTree)
     , m_pit(m_nameTree)
   {
-#ifdef _DEBUG
+#ifndef NDEBUG
     std::cerr << "Benchmark compiled in debug mode is unreliable, please compile in release mode.\n";
 #endif
   }