diff --git a/Test/TestArgs.cc b/Test/TestArgs.cc
index c337c11726a54918db268e80e1f21db14551e84d..04be492b4d47ba5cd0523c7cbd7816046335d937 100755
--- a/Test/TestArgs.cc
+++ b/Test/TestArgs.cc
@@ -174,8 +174,13 @@ void Parser::add_option(Option& _option)
   OPTION_THROW_if(help_option(_option.name()),
       _option.name() << " cannot override -h or --help.");
 
+#ifdef __APPLE__
+  OPTION_THROW_if(!options_.emplace(_option.name(), _option).second,
+      _option.name() << " has already been added to the argument parser.");
+#else // __APPLE__
   OPTION_THROW_if(!options_.try_emplace(_option.name(), _option).second,
       _option.name() << " has already been added to the argument parser.");
+#endif // __APPLE__
 }
 
 void Parser::parse()
@@ -349,7 +354,13 @@ Checksum::Level ChecksumLevel::parse_level(const std::string& _arg)
   // Make _arg uppercase
   auto arg = to_upper(_arg);
 
-  size_t num_levels = std::size(Checksum::LEVEL_TEXT);
+#ifdef __APPLE__
+  const size_t num_levels =
+      sizeof(Checksum::LEVEL_TEXT) / sizeof(Checksum::LEVEL_TEXT[0]);
+#else  // __APPLE__
+  const size_t num_levels = std::size(Checksum::LEVEL_TEXT);
+#endif // __APPLE__
+
   for (size_t i = 0; i < num_levels; i++)
   {
     if (arg == Checksum::LEVEL_TEXT[i])