LLVM 20.0.0git
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
CommandLine.h File Reference
#include "llvm/ADT/ArrayRef.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/StringSaver.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>

Go to the source code of this file.

Classes

class  llvm::cl::OptionCategory
 
class  llvm::cl::SubCommand
 
class  llvm::cl::SubCommandGroup
 
class  llvm::cl::Option
 
struct  llvm::cl::desc
 
struct  llvm::cl::value_desc
 
struct  llvm::cl::initializer< Ty >
 
struct  llvm::cl::list_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::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
 
class  llvm::cl::ExpansionContext
 Contains options that control response file expansion. More...
 

Namespaces

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

Macros

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

Typedefs

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.
 

Enumerations

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 }
 

Functions

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.
 
void llvm::cl::AddExtraVersionPrinter (VersionPrinterTy func)
 ===------------------------------------------------------------------—===// Add an extra printer to use in addition to the default one.
 
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.
 
OptionCategoryllvm::cl::getGeneralCategory ()
 
template<class Ty >
initializer< Ty > llvm::cl::init (const Ty &Val)
 
template<class Ty >
list_initializer< Ty > llvm::cl::list_init (ArrayRef< Ty > Vals)
 
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.
 
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.
 
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.
 
ArrayRef< StringRefllvm::cl::getCompilerBuildConfig ()
 An array of optional enabled settings in the LLVM build configuration, which may be of interest to compiler developers.
 
void llvm::cl::printBuildConfig (raw_ostream &OS)
 Prints the compiler build configuration.
 
StringMap< Option * > & llvm::cl::getRegisteredOptions (SubCommand &Sub=SubCommand::getTopLevel())
 Use this to get a StringMap to all registered named options (e.g.
 
iterator_range< typename SmallPtrSet< SubCommand *, 4 >::iterator > llvm::cl::getRegisteredSubcommands ()
 Use this to get all registered SubCommands from the provided parser.
 
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.
 
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.
 
void llvm::cl::TokenizeWindowsCommandLineNoCopy (StringRef Source, StringSaver &Saver, SmallVectorImpl< StringRef > &NewArgv)
 Tokenizes a Windows command line while attempting to avoid copies.
 
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.
 
void llvm::cl::tokenizeConfigFile (StringRef Source, StringSaver &Saver, SmallVectorImpl< const char * > &NewArgv, bool MarkEOLs=false)
 Tokenizes content of configuration file.
 
bool llvm::cl::expandResponseFiles (int Argc, const char *const *Argv, const char *EnvVar, 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.
 
bool llvm::cl::ExpandResponseFiles (StringSaver &Saver, TokenizerCallback Tokenizer, SmallVectorImpl< const char * > &Argv)
 A convenience helper which supports the typical use case of expansion function call.
 
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.
 
void llvm::cl::HideUnrelatedOptions (cl::OptionCategory &Category, SubCommand &Sub=SubCommand::getTopLevel())
 Mark all options not part of this category as cl::ReallyHidden.
 
void llvm::cl::HideUnrelatedOptions (ArrayRef< const cl::OptionCategory * > Categories, SubCommand &Sub=SubCommand::getTopLevel())
 Mark all options not part of the categories as cl::ReallyHidden.
 
void llvm::cl::ResetAllOptionOccurrences ()
 Reset all command line options to a state that looks as if they have never appeared on the command line.
 
void llvm::cl::ResetCommandLineParser ()
 Reset the command line parser back to its initial state.
 
bool llvm::cl::ProvidePositionalOption (Option *Handler, StringRef Arg, int i)
 Parses Arg into the option handler Handler.
 

Macro Definition Documentation

◆ clEnumVal

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

Definition at line 684 of file CommandLine.h.

◆ clEnumValN

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

Definition at line 686 of file CommandLine.h.