LLVM API Documentation

Classes | Namespaces | Defines | Typedefs | Enumerations | Functions | Variables
CommandLine.h File Reference
#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.

Classes

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...

Namespaces

namespace  llvm
 

List of target independent CodeGen pass IDs.


namespace  llvm::cl

Defines

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

Typedefs

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.

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::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 }

Functions

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::MarkOptionsChanged ()
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 >
END_WITH_NULL 
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)
void llvm::cl::getRegisteredOptions (StringMap< Option * > &Map)
 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.

Variables

OptionCategory llvm::cl::GeneralCategory

Define Documentation

#define clEnumVal (   ENUMVAL,
  DESC 
)    #ENUMVAL, int(ENUMVAL), DESC

Definition at line 477 of file CommandLine.h.

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

Definition at line 479 of file CommandLine.h.

#define clEnumValN (   ENUMVAL,
  FLAGNAME,
  DESC 
)    FLAGNAME, int(ENUMVAL), DESC

Definition at line 478 of file CommandLine.h.