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])