LLVM  15.0.0git
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
CommandLine.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <climits>
#include <cstddef>
#include <functional>
#include <initializer_list>
#include <string>
#include <type_traits>
#include <vector>
Include dependency graph for CommandLine.h:

Go to the source code of this file.


class  llvm::cl::OptionCategory
class  llvm::cl::SubCommand
class  llvm::cl::Option
struct  llvm::cl::desc
struct  llvm::cl::value_desc
struct  llvm::cl::initializer< Ty >
struct  llvm::cl::LocationClass< Ty >
struct  llvm::cl::cat
struct  llvm::cl::sub
struct  llvm::cl::cb< R, Ty >
struct  llvm::cl::detail::callback_traits< F >
struct  llvm::cl::detail::callback_traits< R(C::*)(Args...) const >
struct  llvm::cl::GenericOptionValue
struct  llvm::cl::OptionValue< DataType >
struct  llvm::cl::OptionValueBase< DataType, isClass >
class  llvm::cl::OptionValueCopy< DataType >
struct  llvm::cl::OptionValueBase< DataType, false >
struct  llvm::cl::OptionValue< DataType >
struct  llvm::cl::OptionValue< cl::boolOrDefault >
struct  llvm::cl::OptionValue< std::string >
struct  llvm::cl::OptionEnumValue
class  llvm::cl::ValuesClass
class  llvm::cl::generic_parser_base
class  llvm::cl::generic_parser_base::GenericOptionInfo
class  llvm::cl::parser< DataType >
class  llvm::cl::parser< DataType >::OptionInfo
class  llvm::cl::basic_parser_impl
class  llvm::cl::basic_parser< DataType >
class  llvm::cl::parser< bool >
class  llvm::cl::parser< boolOrDefault >
class  llvm::cl::parser< int >
class  llvm::cl::parser< long >
class  llvm::cl::parser< long long >
class  llvm::cl::parser< unsigned >
class  llvm::cl::parser< unsigned long >
class  llvm::cl::parser< unsigned long long >
class  llvm::cl::parser< double >
class  llvm::cl::parser< float >
class  llvm::cl::parser< std::string >
class  llvm::cl::parser< char >
struct  llvm::cl::OptionDiffPrinter< ParserDT, ValDT >
struct  llvm::cl::OptionDiffPrinter< DT, DT >
struct  llvm::cl::applicator< Mod >
struct  llvm::cl::applicator< char[n]>
struct  llvm::cl::applicator< const char[n]>
struct  llvm::cl::applicator< StringRef >
struct  llvm::cl::applicator< NumOccurrencesFlag >
struct  llvm::cl::applicator< ValueExpected >
struct  llvm::cl::applicator< OptionHidden >
struct  llvm::cl::applicator< FormattingFlags >
struct  llvm::cl::applicator< MiscFlags >
class  llvm::cl::opt_storage< DataType, ExternalStorage, isClass >
class  llvm::cl::opt_storage< DataType, false, true >
class  llvm::cl::opt_storage< DataType, false, false >
class  llvm::cl::opt< DataType, ExternalStorage, ParserClass >
class  llvm::cl::list_storage< DataType, StorageClass >
class  llvm::cl::list_storage< DataType, bool >
class  llvm::cl::list< DataType, StorageClass, ParserClass >
struct  llvm::cl::multi_val
class  llvm::cl::bits_storage< DataType, StorageClass >
class  llvm::cl::bits_storage< DataType, bool >
class  llvm::cl::bits< DataType, Storage, ParserClass >
class  llvm::cl::alias
struct  llvm::cl::aliasopt
struct  llvm::cl::extrahelp


 This is an optimization pass for GlobalISel generic memory operations.
 This namespace contains all of the command line option processing machinery.


#define clEnumVal(ENUMVAL, DESC)   llvm::cl::OptionEnumValue { #ENUMVAL, int(ENUMVAL), DESC }
#define clEnumValN(ENUMVAL, FLAGNAME, DESC)   llvm::cl::OptionEnumValue { FLAGNAME, int(ENUMVAL), DESC }


using llvm::cl::VersionPrinterTy = std::function< void(raw_ostream &)>
using llvm::cl::TokenizerCallback = void(*)(StringRef Source, StringSaver &Saver, SmallVectorImpl< const char * > &NewArgv, bool MarkEOLs)
 String tokenization function type. More...


enum  llvm::cl::NumOccurrencesFlag {
  llvm::cl::Optional = 0x00, llvm::cl::ZeroOrMore = 0x01, llvm::cl::Required = 0x02, llvm::cl::OneOrMore = 0x03,
  llvm::cl::ConsumeAfter = 0x04
enum  llvm::cl::ValueExpected { llvm::cl::ValueOptional = 0x01, llvm::cl::ValueRequired = 0x02, llvm::cl::ValueDisallowed = 0x03 }
enum  llvm::cl::OptionHidden { llvm::cl::NotHidden = 0x00, llvm::cl::Hidden = 0x01, llvm::cl::ReallyHidden = 0x02 }
enum  llvm::cl::FormattingFlags { llvm::cl::NormalFormatting = 0x00, llvm::cl::Positional = 0x01, llvm::cl::Prefix = 0x02, llvm::cl::AlwaysPrefix = 0x03 }
enum  llvm::cl::MiscFlags {
  llvm::cl::CommaSeparated = 0x01, llvm::cl::PositionalEatsArgs = 0x02, llvm::cl::Sink = 0x04, llvm::cl::Grouping = 0x08,
  llvm::cl::DefaultOption = 0x10
enum  llvm::cl::boolOrDefault { llvm::cl::BOU_UNSET, llvm::cl::BOU_TRUE, llvm::cl::BOU_FALSE }


bool llvm::cl::ParseCommandLineOptions (int argc, const char *const *argv, StringRef Overview="", raw_ostream *Errs=nullptr, const char *EnvVar=nullptr, bool LongOptionsUseDoubleDash=false)
void llvm::cl::SetVersionPrinter (VersionPrinterTy func)
 ===------------------------------------------------------------------—===// Override the default (LLVM specific) version printer used to print out the version when –version is given on the command line. More...
void llvm::cl::AddExtraVersionPrinter (VersionPrinterTy func)
 ===------------------------------------------------------------------—===// Add an extra printer to use in addition to the default one. More...
void llvm::cl::PrintOptionValues ()
void llvm::cl::AddLiteralOption (Option &O, StringRef Name)
 Adds a new option for parsing and provides the option it refers to. More...
OptionCategoryllvm::cl::getGeneralCategory ()
template<class Ty >
initializer< Ty > llvm::cl::init (const Ty &Val)
template<class Ty >
LocationClass< Ty > llvm::cl::location (Ty &L)
template<typename F >
cb< typename detail::callback_traits< F >::result_type, typename detail::callback_traits< F >::arg_type > llvm::cl::callback (F CB)
template<typename... OptsTy>
ValuesClass llvm::cl::values (OptsTy... Options)
 Helper to build a ValuesClass by forwarding a variable number of arguments as an initializer list to the ValuesClass constructor. More...
template<class ParserClass , class DT >
void llvm::cl::printOptionDiff (const Option &O, const generic_parser_base &P, const DT &V, const OptionValue< DT > &Default, size_t GlobalWidth)
template<class ParserClass , class ValDT >
void llvm::cl::printOptionDiff (const Option &O, const basic_parser< typename ParserClass::parser_data_type > &P, const ValDT &V, const OptionValue< ValDT > &Default, size_t GlobalWidth)
template<class Opt , class Mod , class... Mods>
void llvm::cl::apply (Opt *O, const Mod &M, const Mods &... Ms)
template<class Opt , class Mod >
void llvm::cl::apply (Opt *O, const Mod &M)
void llvm::cl::PrintVersionMessage ()
 Utility function for printing version number. More...
void llvm::cl::PrintHelpMessage (bool Hidden=false, bool Categorized=false)
 This function just prints the help message, exactly the same way as if the -help or -help-hidden option had been given on the command line. More...
StringMap< Option * > & llvm::cl::getRegisteredOptions (SubCommand &Sub= *TopLevelSubCommand)
 Use this to get a StringMap to all registered named options (e.g. More...
iterator_range< typename SmallPtrSet< SubCommand *, 4 >::iterator > llvm::cl::getRegisteredSubcommands ()
 Use this to get all registered SubCommands from the provided parser. More...
void llvm::cl::TokenizeGNUCommandLine (StringRef Source, StringSaver &Saver, SmallVectorImpl< const char * > &NewArgv, bool MarkEOLs=false)
 Tokenizes a command line that can contain escapes and quotes. More...
void llvm::cl::TokenizeWindowsCommandLine (StringRef Source, StringSaver &Saver, SmallVectorImpl< const char * > &NewArgv, bool MarkEOLs=false)
 Tokenizes a string of Windows command line arguments, which may contain quotes and escaped quotes. More...
void llvm::cl::TokenizeWindowsCommandLineNoCopy (StringRef Source, StringSaver &Saver, SmallVectorImpl< StringRef > &NewArgv)
 Tokenizes a Windows command line while attempting to avoid copies. More...
void llvm::cl::TokenizeWindowsCommandLineFull (StringRef Source, StringSaver &Saver, SmallVectorImpl< const char * > &NewArgv, bool MarkEOLs=false)
 Tokenizes a Windows full command line, including command name at the start. More...
void llvm::cl::tokenizeConfigFile (StringRef Source, StringSaver &Saver, SmallVectorImpl< const char * > &NewArgv, bool MarkEOLs=false)
 Tokenizes content of configuration file. More...
bool llvm::cl::readConfigFile (StringRef CfgFileName, StringSaver &Saver, SmallVectorImpl< const char * > &Argv)
 Reads command line options from the given configuration file. More...
bool llvm::cl::ExpandResponseFiles (StringSaver &Saver, TokenizerCallback Tokenizer, SmallVectorImpl< const char * > &Argv, bool MarkEOLs, bool RelativeNames, bool ExpandBasePath, llvm::Optional< llvm::StringRef > CurrentDir, llvm::vfs::FileSystem &FS)
 Expand response files on a command line recursively using the given StringSaver and tokenization strategy. More...
bool llvm::cl::ExpandResponseFiles (StringSaver &Saver, TokenizerCallback Tokenizer, SmallVectorImpl< const char * > &Argv, bool MarkEOLs=false, bool RelativeNames=false, bool ExpandBasePath=false, llvm::Optional< llvm::StringRef > CurrentDir=llvm::None)
 An overload of ExpandResponseFiles() that uses llvm::vfs::getRealFileSystem(). More...
bool llvm::cl::expandResponseFiles (int Argc, const char *const *Argv, const char *EnvVar, StringSaver &Saver, SmallVectorImpl< const char * > &NewArgv)
 A convenience helper which concatenates the options specified by the environment variable EnvVar and command line options, then expands response files recursively. More...
void llvm::cl::HideUnrelatedOptions (cl::OptionCategory &Category, SubCommand &Sub= *TopLevelSubCommand)
 Mark all options not part of this category as cl::ReallyHidden. More...
void llvm::cl::HideUnrelatedOptions (ArrayRef< const cl::OptionCategory * > Categories, SubCommand &Sub= *TopLevelSubCommand)
 Mark all options not part of the categories as cl::ReallyHidden. More...
void llvm::cl::ResetAllOptionOccurrences ()
 Reset all command line options to a state that looks as if they have never appeared on the command line. More...
void llvm::cl::ResetCommandLineParser ()
 Reset the command line parser back to its initial state. More...
bool llvm::cl::ProvidePositionalOption (Option *Handler, StringRef Arg, int i)
 Parses Arg into the option handler Handler. More...


ManagedStatic< SubCommandllvm::cl::TopLevelSubCommand
ManagedStatic< SubCommandllvm::cl::AllSubCommands

Macro Definition Documentation

◆ clEnumVal

#define clEnumVal (   ENUMVAL,
)    llvm::cl::OptionEnumValue { #ENUMVAL, int(ENUMVAL), DESC }

Definition at line 658 of file CommandLine.h.

◆ clEnumValN

#define clEnumValN (   ENUMVAL,
)    llvm::cl::OptionEnumValue { FLAGNAME, int(ENUMVAL), DESC }

Definition at line 660 of file CommandLine.h.