Fuzz introspector: parse_args_fuzzer
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
68 201 55 :

['args::EitherFlag::str(std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&) const', 'std::__1::vector >::~vector[abi:ne180100]()', 'args::ArgumentParser::ParseOption(std::__1::basic_string , std::__1::allocator > const&, bool)', 'args::CompletionFlag::Get()', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&)', 'std::__1::vector >::end[abi:ne180100]()', 'args::Matcher::GetShortOrAny() const', 'std::__1::vector >::end[abi:ne180100]()', 'std::__1::__wrap_iter ::operator*[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::basic_string(std::__1::basic_string , std::__1::allocator > const&, unsigned long, unsigned long, std::__1::allocator const&)', 'std::__1::basic_string , std::__1::allocator >::at(unsigned long) const', 'std::__1::basic_string , std::__1::allocator >::empty[abi:ne180100]() const', 'std::__1::vector , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >::empty[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::size[abi:ne180100]() const', 'std::__1::vector , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >::begin[abi:ne180100]()', 'std::__1::__wrap_iter ::operator++[abi:ne180100]()', 'bool std::__1::operator!=[abi:ne180100] (std::__1::__wrap_iter const&, std::__1::__wrap_iter const&)', 'std::__1::__wrap_iter ::operator*[abi:ne180100]() const', 'std::__1::vector , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >::~vector[abi:ne180100]()', 'args::Base::GetOptions() const', 'std::__1::vector >::begin[abi:ne180100]()', 'std::__1::allocator ::allocator[abi:ne180100]()', '__cxa_free_exception', '__cxa_allocate_exception', 'args::FlagBase::GetMatcher() const', 'bool std::__1::operator!=[abi:ne180100] , std::__1::allocator >*>(std::__1::__wrap_iter , std::__1::allocator >*> const&, std::__1::__wrap_iter , std::__1::allocator >*> const&)', 'bool std::__1::operator!=[abi:ne180100] (std::__1::__wrap_iter const&, std::__1::__wrap_iter const&)', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator >&&, std::__1::basic_string , std::__1::allocator > const&)', 'std::__1::vector >::~vector[abi:ne180100]()', 'args::EitherFlag::~EitherFlag()', 'std::__1::vector >::end[abi:ne180100]()', 'std::__1::vector >::begin[abi:ne180100]()', 'std::__1::__wrap_iter , std::__1::allocator >*>::operator*[abi:ne180100]() const', 'std::__1::vector >::begin[abi:ne180100]()', 'args::operator&(args::Options, args::Options)', 'std::__1::__wrap_iter ::operator++[abi:ne180100]()', 'args::Completion::Completion(std::__1::basic_string , std::__1::allocator > const&)', 'args::Matcher::GetFlagStrings() const', 'std::__1::__wrap_iter ::operator*[abi:ne180100]() const', 'std::__1::basic_string , std::__1::allocator >::find[abi:ne180100](std::__1::basic_string , std::__1::allocator > const&, unsigned long) const', 'args::ArgumentParser::AddCompletionReply(std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&)', 'args::NamedBase::HelpChoices(args::HelpParams const&) const', 'bool std::__1::operator!=[abi:ne180100] (std::__1::__wrap_iter const&, std::__1::__wrap_iter const&)', 'std::__1::vector >::~vector[abi:ne180100]()', '__cxa_throw', 'std::__1::basic_string , std::__1::allocator >::substr[abi:ne180100](unsigned long, unsigned long) const', 'args::EitherFlag::EitherFlag(std::__1::basic_string , std::__1::allocator > const&)', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'std::__1::__wrap_iter ::operator++[abi:ne180100]()', 'std::__1::__wrap_iter , std::__1::allocator >*>::operator++[abi:ne180100]()', 'std::__1::basic_string , std::__1::allocator > std::__1::operator+[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator > const&, char)', 'args::Command::Name() const', 'std::__1::vector , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >::end[abi:ne180100]()', 'std::__1::vector >::empty[abi:ne180100]() const', 'args::EitherFlag::EitherFlag(char)']

68 201 boolargs::ArgumentParser::Complete ,std::__1::allocator >*>>(std::__1::__wrap_iter ,std::__1::allocator >*>,std::__1::__wrap_iter ,std::__1::allocator >*>) call site: 00000 /src/args/args.hxx:2553
60 834 47 :

['std::__1::vector , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >::erase[abi:ne180100](std::__1::__wrap_iter , std::__1::allocator > const*>)', 'args::ArgumentParser::ParseOption(std::__1::basic_string , std::__1::allocator > const&, bool)', 'bool args::ArgumentParser::ParseLong , std::__1::allocator >*> >(std::__1::__wrap_iter , std::__1::allocator >*>&, std::__1::__wrap_iter , std::__1::allocator >*>)', '_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8ne180100ILi0EEEPKc', 'std::__1::vector >::end[abi:ne180100]()', 'std::__1::__wrap_iter ::operator*[abi:ne180100]() const', 'bool std::__1::operator==[abi:ne180100] (std::__1::__wrap_iter const&, std::__1::__wrap_iter const&)', 'std::__1::vector , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >::erase(std::__1::__wrap_iter , std::__1::allocator > const*>, std::__1::__wrap_iter , std::__1::allocator > const*>)', '_ZNSt3__111__wrap_iterIPKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEEC2B8ne180100IPS6_TnNS_9enable_ifIXsr14is_convertibleIT_S8_EE5valueEiE4typeELi0EEERKNS0_ISD_EE', 'std::__1::vector , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >::begin[abi:ne180100]()', 'args::Base::KickOut() const', 'std::__1::__wrap_iter , std::__1::allocator >*>::operator+[abi:ne180100](long) const', 'args::Command::RaiiSubparser::Parser()', 'std::__1::vector , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >::resize(unsigned long)', 'std::__1::function ::operator bool[abi:ne180100]() const', 'std::__1::vector , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >::~vector[abi:ne180100]()', '__cxa_rethrow', 'args::Command::RaiiSubparser::~RaiiSubparser()', 'args::UsageError::UsageError(std::__1::basic_string , std::__1::allocator > const&)', 'std::__1::function ::operator()(args::Subparser&) const', 'bool std::__1::operator!=[abi:ne180100] , std::__1::allocator >*>(std::__1::__wrap_iter , std::__1::allocator >*> const&, std::__1::__wrap_iter , std::__1::allocator >*> const&)', 'std::__1::__wrap_iter , std::__1::allocator >*> args::ArgumentParser::Parse , std::__1::allocator >*> >(std::__1::__wrap_iter , std::__1::allocator >*>, std::__1::__wrap_iter , std::__1::allocator >*>)', '__clang_call_terminate', 'std::__1::vector >::operator=[abi:ne180100](std::__1::vector >&&)', 'args::Command::RaiiSubparser::RaiiSubparser(args::ArgumentParser&, std::__1::vector , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >)', '_ZNSt3__16vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEC2INS_11__wrap_iterIPS6_EETnNS_9enable_ifIXaasr31__has_forward_iterator_categoryIT_EE5valuesr16is_constructibleIS6_NS_15iterator_traitsISE_E9referenceEEE5valueEiE4typeELi0EEESE_SE_', 'bool std::__1::operator==[abi:ne180100] , std::__1::allocator >(std::__1::basic_string , std::__1::allocator > const&, char const*)', 'std::__1::basic_string , std::__1::allocator >::operator+=[abi:ne180100](char const*)', 'std::__1::vector >::begin[abi:ne180100]()', 'std::__1::__wrap_iter , std::__1::allocator >*>::operator*[abi:ne180100]() const', '__cxa_begin_catch', 'args::Completion::Completion(std::__1::basic_string , std::__1::allocator > const&)', 'args::Command::GetCoroutine()', 'std::__1::vector , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >::size[abi:ne180100]() const', 'std::__1::iterator_traits , std::__1::allocator >*> >::difference_type std::__1::distance[abi:ne180100] , std::__1::allocator >*> >(std::__1::__wrap_iter , std::__1::allocator >*>, std::__1::__wrap_iter , std::__1::allocator >*>)', 'bool std::__1::operator==[abi:ne180100] >(std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&)', 'bool args::ArgumentParser::ParseShort , std::__1::allocator >*> >(std::__1::__wrap_iter , std::__1::allocator >*>&, std::__1::__wrap_iter , std::__1::allocator >*>)', 'bool args::ArgumentParser::Complete , std::__1::allocator >*> >(std::__1::__wrap_iter , std::__1::allocator >*>, std::__1::__wrap_iter , std::__1::allocator >*>)', 'std::__1::basic_string , std::__1::allocator >::operator+=[abi:ne180100](std::__1::basic_string , std::__1::allocator > const&)', 'std::__1::__wrap_iter std::__1::find_if[abi:ne180100] , args::ArgumentParser::Parse , std::__1::allocator >*> >(std::__1::__wrap_iter , std::__1::allocator >*>, std::__1::__wrap_iter , std::__1::allocator >*>)::{lambda(args::Command*)#1}>(std::__1::__wrap_iter , std::__1::__wrap_iter , args::ArgumentParser::Parse , std::__1::allocator >*> >(std::__1::__wrap_iter , std::__1::allocator >*>, std::__1::__wrap_iter , std::__1::allocator >*>)::{lambda(args::Command*)#1})', 'args::Command::SelectCommand(args::Command*)', 'args::Subparser::IsParsed() const', 'std::__1::__wrap_iter , std::__1::allocator >*>::operator++[abi:ne180100]()', '__cxa_end_catch', 'std::__1::vector , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >::end[abi:ne180100]()', 'std::__1::vector >::empty[abi:ne180100]() const', 'std::__1::vector , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >::operator[][abi:ne180100](unsigned long)']

96 882 std::__1::__wrap_iter ,std::__1::allocator >*>args::ArgumentParser::Parse ,std::__1::allocator >*>>(std::__1::__wrap_iter ,std::__1::allocator >*>,std::__1::__wrap_iter ,std::__1::allocator >*>) call site: 00000 /src/args/args.hxx:2739
26 26 1 :

['args::Command::Validate(std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&) const::{lambda()#1}::operator()() const']

32 42 args::Command::Validate(std::__1::basic_string ,std::__1::allocator >const&,std::__1::basic_string ,std::__1::allocator >const&)const call site: 00000 /src/args/args.hxx:2208
9 17 11 :

['std::__1::basic_ostringstream , std::__1::allocator >::basic_ostringstream[abi:ne180100]()', '__cxa_throw', 'std::__1::basic_ostream >& std::__1::operator<<[abi:ne180100] , std::__1::allocator >(std::__1::basic_ostream >&, std::__1::basic_string , std::__1::allocator > const&)', 'std::__1::basic_ostream >& std::__1::operator<<[abi:ne180100] >(std::__1::basic_ostream >&, char const*)', 'args::EitherFlag::str() const', '__cxa_allocate_exception', 'std::__1::basic_ostringstream , std::__1::allocator >::str[abi:ne180100]() const', '__cxa_free_exception', 'std::__1::basic_ostringstream , std::__1::allocator >::~basic_ostringstream()', 'std::__1::basic_string , std::__1::allocator >::~basic_string()', 'args::ExtraError::ExtraError(std::__1::basic_string , std::__1::allocator > const&)']

9 17 args::FlagBase::Match(args::EitherFlagconst&) call site: 00000 /src/args/args.hxx:1124
6 12 4 :

['__cxa_throw', '__cxa_allocate_exception', 'args::UsageError::UsageError(std::__1::basic_string , std::__1::allocator > const&)', '__cxa_free_exception']

6 12 args::ArgumentParser::LongSeparator(std::__1::basic_string ,std::__1::allocator >const&) call site: 00000 /src/args/args.hxx:2889
0 6 8 :

['std::__1::__wrap_iter ::operator++[abi:ne180100]()', 'args::Base::GetOptions() const', 'std::__1::vector >::begin[abi:ne180100]() const', 'args::Group::Children() const', 'args::operator&(args::Options, args::Options)', 'std::__1::vector >::end[abi:ne180100]() const', 'std::__1::__wrap_iter ::operator*[abi:ne180100]() const', 'bool std::__1::operator!=[abi:ne180100] (std::__1::__wrap_iter const&, std::__1::__wrap_iter const&)']

0 6 args::Command::Match(args::EitherFlagconst&) call site: 00000 /src/args/args.hxx:1905
0 6 8 :

['std::__1::__wrap_iter ::operator++[abi:ne180100]()', 'args::Base::GetOptions() const', 'std::__1::vector >::begin[abi:ne180100]() const', 'args::Group::Children() const', 'args::operator&(args::Options, args::Options)', 'std::__1::vector >::end[abi:ne180100]() const', 'std::__1::__wrap_iter ::operator*[abi:ne180100]() const', 'bool std::__1::operator!=[abi:ne180100] (std::__1::__wrap_iter const&, std::__1::__wrap_iter const&)']

0 6 args::Command::GetNextPositional() call site: 00000 /src/args/args.hxx:1969
0 0 None 96 882 std::__1::__wrap_iter ,std::__1::allocator >*>args::ArgumentParser::Parse ,std::__1::allocator >*>>(std::__1::__wrap_iter ,std::__1::allocator >*>,std::__1::__wrap_iter ,std::__1::allocator >*>) call site: 00000 /src/args/args.hxx:2681
0 0 None 96 882 std::__1::__wrap_iter ,std::__1::allocator >*>args::ArgumentParser::Parse ,std::__1::allocator >*>>(std::__1::__wrap_iter ,std::__1::allocator >*>,std::__1::__wrap_iter ,std::__1::allocator >*>) call site: 00000 /src/args/args.hxx:2687
0 0 None 58 70 args::Command::Validate(std::__1::basic_string ,std::__1::allocator >const&,std::__1::basic_string ,std::__1::allocator >const&)const call site: 00000 /src/args/args.hxx:2181
0 0 None 58 68 args::Command::Validate(std::__1::basic_string ,std::__1::allocator >const&,std::__1::basic_string ,std::__1::allocator >const&)const call site: 00000 /src/args/args.hxx:2200
0 0 None 16 100 boolargs::ArgumentParser::ParseShort ,std::__1::allocator >*>>(std::__1::__wrap_iter ,std::__1::allocator >*>&,std::__1::__wrap_iter ,std::__1::allocator >*>) call site: 00000 /src/args/args.hxx:2490

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 args::ArgumentParser::ArgumentParser(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00001
2 args::Command::Command() [function] [call site] 00002
3 args::Group::Group(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::function<bool (args::Group const&)> const&, args::Options) [function] [call site] 00003
4 args::Base::Base(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, args::Options) [function] [call site] 00004
4 args::Base::~Base() [function] [call site] 00005
2 args::HelpParams::HelpParams() [function] [call site] 00006
2 args::Command::Description(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00007
2 args::Command::Epilog(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00008
2 args::ArgumentParser::LongPrefix(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00009
2 args::ArgumentParser::ShortPrefix(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00010
2 args::ArgumentParser::LongSeparator(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00011
3 __cxa_allocate_exception [call site] 00012
3 args::UsageError::UsageError(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00013
4 args::Error::Error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00014
5 std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [call site] 00015
3 __cxa_throw [call site] 00016
3 __cxa_free_exception [call site] 00017
2 args::ArgumentParser::Terminator(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00018
2 args::ArgumentParser::SetArgumentSeparations(bool, bool, bool, bool) [function] [call site] 00019
2 args::HelpParams::~HelpParams() [function] [call site] 00020
2 args::Command::~Command() [function] [call site] 00021
3 args::Group::~Group() [function] [call site] 00022
4 args::Base::~Base() [function] [call site] 00023
1 args::EitherFlag::EitherFlag(char) [function] [call site] 00024
1 args::EitherFlag::EitherFlag(char const*) [function] [call site] 00025
1 args::Matcher::Matcher(std::initializer_list<args::EitherFlag>) [function] [call site] 00026
2 args::EitherFlag::GetShort(std::initializer_list<args::EitherFlag>) [function] [call site] 00027
2 args::EitherFlag::GetLong(std::initializer_list<args::EitherFlag>) [function] [call site] 00028
2 args::Matcher::Matcher<std::__1::unordered_set<char, std::__1::hash<char>, std::__1::equal_to<char>, std::__1::allocator<char> >, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >(std::__1::unordered_set<char, std::__1::hash<char>, std::__1::equal_to<char>, std::__1::allocator<char> >&&, std::__1::unordered_set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&&) [function] [call site] 00029
3 args::Matcher::Matcher<std::__1::__hash_const_iterator<std::__1::__hash_node<char, void*>*>, std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void*>*> >(std::__1::__hash_const_iterator<std::__1::__hash_node<char, void*>*>, std::__1::__hash_const_iterator<std::__1::__hash_node<char, void*>*>, std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void*>*>, std::__1::__hash_const_iterator<std::__1::__hash_node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void*>*>) [function] [call site] 00030
4 __cxa_allocate_exception [call site] 00031
4 args::UsageError::UsageError(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00032
4 __cxa_throw [call site] 00033
4 __cxa_free_exception [call site] 00034
1 args::HelpFlag::HelpFlag(args::Group&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, args::Matcher&&, args::Options) [function] [call site] 00035
2 args::Flag::Flag(args::Group&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, args::Matcher&&, args::Options) [function] [call site] 00036
3 args::FlagBase::FlagBase(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, args::Matcher&&, args::Options) [function] [call site] 00037
4 args::NamedBase::NamedBase(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, args::Options) [function] [call site] 00038
5 args::Base::Base(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, args::Options) [function] [call site] 00039
5 args::Base::~Base() [function] [call site] 00040
4 args::Matcher::Matcher(args::Matcher&&) [function] [call site] 00041
5 __clang_call_terminate [call site] 00042
6 __cxa_begin_catch [call site] 00043
3 args::Group::Add(args::Base&) [function] [call site] 00044
3 args::FlagBase::~FlagBase() [function] [call site] 00045
4 args::Matcher::~Matcher() [function] [call site] 00046
4 args::NamedBase::~NamedBase() [function] [call site] 00047
5 args::Base::~Base() [function] [call site] 00048
1 args::Matcher::~Matcher() [function] [call site] 00049
1 args::EitherFlag::~EitherFlag() [function] [call site] 00050
1 args::EitherFlag::EitherFlag(char) [function] [call site] 00051
1 args::EitherFlag::EitherFlag(char const*) [function] [call site] 00052
1 args::Matcher::Matcher(std::initializer_list<args::EitherFlag>) [function] [call site] 00053
1 args::Flag::Flag(args::Group&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, args::Matcher&&, bool) [function] [call site] 00054
2 args::Flag::Flag(args::Group&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, args::Matcher&&, args::Options) [function] [call site] 00055
1 args::Matcher::~Matcher() [function] [call site] 00056
1 args::EitherFlag::~EitherFlag() [function] [call site] 00057
1 args::EitherFlag::EitherFlag(char) [function] [call site] 00058
1 args::EitherFlag::EitherFlag(char const*) [function] [call site] 00059
1 args::Matcher::Matcher(std::initializer_list<args::EitherFlag>) [function] [call site] 00060
1 args::Flag::Flag(args::Group&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, args::Matcher&&, bool) [function] [call site] 00061
1 args::Matcher::~Matcher() [function] [call site] 00062
1 args::EitherFlag::~EitherFlag() [function] [call site] 00063
1 std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*> args::ArgumentParser::ParseArgs<std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*> >(std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>, std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>) [function] [call site] 00064
2 std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*> args::ArgumentParser::Parse<std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*> >(std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>, std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>) [function] [call site] 00065
3 bool args::ArgumentParser::Complete<std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*> >(std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>, std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>) [function] [call site] 00066
4 args::ArgumentParser::ParseOption(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) [function] [call site] 00067
4 args::Base::GetOptions() const [function] [call site] 00068
4 args::operator&(args::Options, args::Options) [function] [call site] 00069
4 args::Command::Name() const [function] [call site] 00070
4 args::ArgumentParser::AddCompletionReply(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00071
5 args::ArgumentParser::ParseOption(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) [function] [call site] 00072
4 args::Base::GetOptions() const [function] [call site] 00073
4 args::operator&(args::Options, args::Options) [function] [call site] 00074
4 args::Command::Name() const [function] [call site] 00075
4 args::ArgumentParser::AddCompletionReply(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00076
4 args::Base::GetOptions() const [function] [call site] 00077
4 args::operator&(args::Options, args::Options) [function] [call site] 00078
4 args::NamedBase::HelpChoices(args::HelpParams const&) const [function] [call site] 00079
4 args::ArgumentParser::AddCompletionReply(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00080
4 args::Base::GetOptions() const [function] [call site] 00081
4 args::operator&(args::Options, args::Options) [function] [call site] 00082
4 args::FlagBase::GetMatcher() const [function] [call site] 00083
4 args::Matcher::GetShortOrAny() const [function] [call site] 00084
5 args::EitherFlag::EitherFlag(char) [function] [call site] 00085
5 args::EitherFlag::EitherFlag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00086
5 args::EitherFlag::EitherFlag(char) [function] [call site] 00087
4 args::EitherFlag::str(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const [function] [call site] 00088
4 args::ArgumentParser::AddCompletionReply(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00089
4 args::EitherFlag::~EitherFlag() [function] [call site] 00090
4 args::Matcher::GetFlagStrings() const [function] [call site] 00091
4 args::EitherFlag::str(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const [function] [call site] 00092
4 args::ArgumentParser::AddCompletionReply(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00093
4 args::EitherFlag::EitherFlag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00094
4 args::EitherFlag::~EitherFlag() [function] [call site] 00095
4 args::NamedBase::HelpChoices(args::HelpParams const&) const [function] [call site] 00096
4 args::ArgumentParser::AddCompletionReply(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00097
4 args::EitherFlag::EitherFlag(char) [function] [call site] 00098
4 args::EitherFlag::~EitherFlag() [function] [call site] 00099
4 args::NamedBase::HelpChoices(args::HelpParams const&) const [function] [call site] 00100
4 args::ArgumentParser::AddCompletionReply(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00101
4 __cxa_allocate_exception [call site] 00102
4 args::CompletionFlag::Get() [function] [call site] 00103
5 std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > args::detail::Join<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00104
5 __clang_call_terminate [call site] 00105
4 args::Completion::Completion(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00106
5 args::Error::Error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00107
4 __cxa_throw [call site] 00108
4 __cxa_free_exception [call site] 00109
3 args::ArgumentParser::ParseOption(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) [function] [call site] 00110
3 bool args::ArgumentParser::ParseLong<std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*> >(std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>&, std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>) [function] [call site] 00111
4 args::EitherFlag::EitherFlag(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00112
4 args::EitherFlag::~EitherFlag() [function] [call site] 00113
4 std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > args::ArgumentParser::ParseArgsValues<std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*> >(args::FlagBase&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>&, std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>, bool, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&) [function] [call site] 00114
5 args::ArgumentParser::ParseOption(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) [function] [call site] 00115
5 bool args::ArgumentParser::Complete<std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*> >(args::FlagBase&, std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>, std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>) [function] [call site] 00116
6 args::NamedBase::HelpChoices(args::HelpParams const&) const [function] [call site] 00117
6 args::ArgumentParser::AddCompletionReply(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00118
6 __cxa_allocate_exception [call site] 00119
6 args::CompletionFlag::Get() [function] [call site] 00120
6 args::Completion::Completion(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00121
6 __cxa_throw [call site] 00122
6 __cxa_free_exception [call site] 00123
4 __cxa_allocate_exception [call site] 00124
4 args::ParseError::ParseError(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00125
5 args::Error::Error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00126
4 __cxa_throw [call site] 00127
4 __cxa_free_exception [call site] 00128
4 args::Base::KickOut() const [function] [call site] 00129
5 args::operator&(args::Options, args::Options) [function] [call site] 00130
4 __cxa_allocate_exception [call site] 00131
4 args::ParseError::ParseError(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00132
4 __cxa_throw [call site] 00133
4 __cxa_free_exception [call site] 00134
3 args::ArgumentParser::ParseOption(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) [function] [call site] 00135
3 bool args::ArgumentParser::ParseShort<std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*> >(std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>&, std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>) [function] [call site] 00136
4 args::EitherFlag::EitherFlag(char) [function] [call site] 00137
4 args::EitherFlag::~EitherFlag() [function] [call site] 00138
4 std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > args::ArgumentParser::ParseArgsValues<std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*> >(args::FlagBase&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>&, std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>, bool, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&) [function] [call site] 00139
4 __cxa_allocate_exception [call site] 00140
4 args::ParseError::ParseError(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00141
4 __cxa_throw [call site] 00142
4 __cxa_free_exception [call site] 00143
4 args::Base::KickOut() const [function] [call site] 00144
4 __cxa_allocate_exception [call site] 00145
4 args::ParseError::ParseError(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00146
4 __cxa_throw [call site] 00147
4 __cxa_free_exception [call site] 00148
3 __cxa_allocate_exception [call site] 00149
3 args::ParseError::ParseError(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00150
3 __cxa_throw [call site] 00151
3 __cxa_free_exception [call site] 00152
3 args::Command::SelectCommand(args::Command*) [function] [call site] 00153
4 args::Command::Match() [function] [call site] 00154
3 args::Command::GetCoroutine() [function] [call site] 00155
4 args::Command::GetCoroutine() [function] [call site] 00156
3 args::Command::RaiiSubparser::RaiiSubparser(args::ArgumentParser&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >) [function] [call site] 00157
4 args::Command::SelectedCommand() [function] [call site] 00158
4 args::Subparser::Subparser(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, args::ArgumentParser&, args::Command const&, args::HelpParams const&) [function] [call site] 00159
5 args::Group::Group(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::function<bool (args::Group const&)> const&, args::Options) [function] [call site] 00160
3 args::Command::RaiiSubparser::Parser() [function] [call site] 00161
3 args::Command::RaiiSubparser::Parser() [function] [call site] 00162
3 args::Subparser::IsParsed() const [function] [call site] 00163
3 __cxa_allocate_exception [call site] 00164
3 args::UsageError::UsageError(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00165
3 __cxa_throw [call site] 00166
3 __cxa_free_exception [call site] 00167
3 args::Command::RaiiSubparser::~RaiiSubparser() [function] [call site] 00168
4 args::Subparser::~Subparser() [function] [call site] 00169
5 args::Group::~Group() [function] [call site] 00170
3 args::Base::KickOut() const [function] [call site] 00171
3 __cxa_allocate_exception [call site] 00172
3 args::ParseError::ParseError(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00173
3 __cxa_throw [call site] 00174
3 __cxa_free_exception [call site] 00175
3 __cxa_allocate_exception [call site] 00176
3 args::Completion::Completion(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00177
3 __cxa_throw [call site] 00178
3 __cxa_free_exception [call site] 00179
3 std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*> args::ArgumentParser::Parse<std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*> >(std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>, std::__1::__wrap_iter<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*>) [function] [call site] 00180
4 __cxa_allocate_exception [call site] 00181
4 args::Completion::Completion(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00182
4 __cxa_throw [call site] 00183
4 __cxa_free_exception [call site] 00184
4 __cxa_begin_catch [call site] 00185
4 __cxa_rethrow [call site] 00186
4 __cxa_begin_catch [call site] 00187
4 __cxa_allocate_exception [call site] 00188
4 args::Completion::Completion(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00189
4 __cxa_throw [call site] 00190
4 __cxa_free_exception [call site] 00191
4 __cxa_end_catch [call site] 00192
4 __cxa_end_catch [call site] 00193
4 __clang_call_terminate [call site] 00194
1 __cxa_begin_catch [call site] 00195
1 __cxa_end_catch [call site] 00196
1 args::Flag::~Flag() [function] [call site] 00197
2 args::FlagBase::~FlagBase() [function] [call site] 00198
1 args::HelpFlag::~HelpFlag() [function] [call site] 00199
2 args::Flag::~Flag() [function] [call site] 00200
1 args::ArgumentParser::~ArgumentParser() [function] [call site] 00201
2 args::HelpParams::~HelpParams() [function] [call site] 00202
2 args::Command::~Command() [function] [call site] 00203