LLVM API Documentation

Classes | Namespaces | Defines | Typedefs | Enumerations | Functions | Variables
CommandLine.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/Compiler.h"
#include <cassert>
#include <climits>
#include <cstdarg>
#include <utility>
#include <vector>
Include dependency graph for CommandLine.h:

Go to the source code of this file.


class  llvm::cl::OptionCategory
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::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 >
class  llvm::cl::ValuesClass< DataType >
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< unsigned >
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< const char * >
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, Storage, 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::StringSaver
 Saves strings in the inheritor's stable storage and returns a stable raw character pointer. More...


namespace  llvm

List of target independent CodeGen pass IDs.

namespace  llvm::cl


#define clEnumVal(ENUMVAL, DESC)   #ENUMVAL, int(ENUMVAL), DESC
#define clEnumValEnd   (reinterpret_cast<void *>(0))


typedef void(* llvm::cl::TokenizerCallback )(StringRef Source, StringSaver &Saver, SmallVectorImpl< const char * > &NewArgv, bool MarkEOLs)
 String tokenization function type. Should be compatible with either Windows or Unix command line tokenizers.


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::Grouping = 0x03 }
enum  llvm::cl::MiscFlags { llvm::cl::CommaSeparated = 0x01, llvm::cl::PositionalEatsArgs = 0x02, llvm::cl::Sink = 0x04 }
enum  llvm::cl::boolOrDefault { llvm::cl::BOU_UNSET, llvm::cl::BOU_TRUE, llvm::cl::BOU_FALSE }


void llvm::cl::ParseCommandLineOptions (int argc, const char *const *argv, const char *Overview=nullptr)
void llvm::cl::ParseEnvironmentOptions (const char *progName, const char *envvar, const char *Overview=nullptr)
void llvm::cl::SetVersionPrinter (void(*func)())
void llvm::cl::AddExtraVersionPrinter (void(*func)())
void llvm::cl::PrintOptionValues ()
void llvm::cl::AddLiteralOption (Option &O, const char *Name)
 Adds a new option for parsing and provides the option it refers to.
template<class Ty >
initializer< Ty > llvm::cl::init (const Ty &Val)
template<class Ty >
LocationClass< Ty > llvm::cl::location (Ty &L)
template<class DataType >
ValuesClass< DataType >
llvm::cl::values (const char *Arg, DataType Val, const char *Desc,...)
 llvm::cl::EXTERN_TEMPLATE_INSTANTIATION (class basic_parser< bool >)
 llvm::cl::EXTERN_TEMPLATE_INSTANTIATION (class basic_parser< boolOrDefault >)
 llvm::cl::EXTERN_TEMPLATE_INSTANTIATION (class basic_parser< int >)
 llvm::cl::EXTERN_TEMPLATE_INSTANTIATION (class basic_parser< unsigned >)
 llvm::cl::EXTERN_TEMPLATE_INSTANTIATION (class basic_parser< unsigned long long >)
 llvm::cl::EXTERN_TEMPLATE_INSTANTIATION (class basic_parser< double >)
 llvm::cl::EXTERN_TEMPLATE_INSTANTIATION (class basic_parser< float >)
 llvm::cl::EXTERN_TEMPLATE_INSTANTIATION (class basic_parser< std::string >)
 llvm::cl::EXTERN_TEMPLATE_INSTANTIATION (class basic_parser< char >)
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 Mod , class Opt >
void llvm::cl::apply (const Mod &M, Opt *O)
 llvm::cl::EXTERN_TEMPLATE_INSTANTIATION (class opt< unsigned >)
 llvm::cl::EXTERN_TEMPLATE_INSTANTIATION (class opt< int >)
 llvm::cl::EXTERN_TEMPLATE_INSTANTIATION (class opt< std::string >)
 llvm::cl::EXTERN_TEMPLATE_INSTANTIATION (class opt< char >)
 llvm::cl::EXTERN_TEMPLATE_INSTANTIATION (class opt< bool >)
void llvm::cl::PrintVersionMessage ()
 Utility function for printing version number.
void llvm::cl::PrintHelpMessage (bool Hidden=false, bool Categorized=false)
StringMap< Option * > & llvm::cl::getRegisteredOptions ()
 Use this to get a StringMap to all registered named options (e.g. -help). Note Map Should be an empty StringMap.
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 Windows command line which may contain quotes and escaped quotes.
bool llvm::cl::ExpandResponseFiles (StringSaver &Saver, TokenizerCallback Tokenizer, SmallVectorImpl< const char * > &Argv, bool MarkEOLs=false)
 Expand response files on a command line recursively using the given StringSaver and tokenization strategy. Argv should contain the command line before expansion and will be modified in place. If requested, Argv will also be populated with nullptrs indicating where each response file line ends, which is useful for the "/link" argument that needs to consume all remaining arguments only until the next end of line, when in a response file.
void llvm::cl::HideUnrelatedOptions (cl::OptionCategory &Category)
 Mark all options not part of this category as cl::ReallyHidden.
void llvm::cl::HideUnrelatedOptions (ArrayRef< const cl::OptionCategory * > Categories)
 Mark all options not part of the categories as cl::ReallyHidden.


OptionCategory llvm::cl::GeneralCategory

Define Documentation

#define clEnumVal (   ENUMVAL,

Definition at line 471 of file CommandLine.h.

#define clEnumValEnd   (reinterpret_cast<void *>(0))

Definition at line 473 of file CommandLine.h.

#define clEnumValN (   ENUMVAL,

Definition at line 472 of file CommandLine.h.