clang  3.7.0
Macros | Typedefs | Functions
PrintfFormatString.cpp File Reference
#include "clang/Analysis/Analyses/FormatString.h"
#include "FormatStringParsing.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/AST/BuiltinTypes.def"
Include dependency graph for PrintfFormatString.cpp:

Go to the source code of this file.

Macros

#define SIGNED_TYPE(Id, SingletonId)
 
#define UNSIGNED_TYPE(Id, SingletonId)
 
#define FLOATING_TYPE(Id, SingletonId)
 
#define BUILTIN_TYPE(Id, SingletonId)   case BuiltinType::Id:
 

Typedefs

typedef
clang::analyze_format_string::SpecifierResult
< PrintfSpecifier
PrintfSpecifierResult
 

Functions

static bool ParsePrecision (FormatStringHandler &H, PrintfSpecifier &FS, const char *Start, const char *&Beg, const char *E, unsigned *argIndex)
 
static bool ParseObjCFlags (FormatStringHandler &H, PrintfSpecifier &FS, const char *FlagBeg, const char *E, bool Warn)
 
static PrintfSpecifierResult ParsePrintfSpecifier (FormatStringHandler &H, const char *&Beg, const char *E, unsigned &argIndex, const LangOptions &LO, const TargetInfo &Target, bool Warn, bool isFreeBSDKPrintf)
 

Macro Definition Documentation

#define BUILTIN_TYPE (   Id,
  SingletonId 
)    case BuiltinType::Id:
#define FLOATING_TYPE (   Id,
  SingletonId 
)
#define SIGNED_TYPE (   Id,
  SingletonId 
)
#define UNSIGNED_TYPE (   Id,
  SingletonId 
)

Typedef Documentation

Definition at line 29 of file PrintfFormatString.cpp.

Function Documentation

static bool ParseObjCFlags ( FormatStringHandler H,
PrintfSpecifier FS,
const char *  FlagBeg,
const char *  E,
bool  Warn 
)
static
static bool ParsePrecision ( FormatStringHandler H,
PrintfSpecifier FS,
const char *  Start,
const char *&  Beg,
const char *  E,
unsigned argIndex 
)
static
static PrintfSpecifierResult ParsePrintfSpecifier ( FormatStringHandler H,
const char *&  Beg,
const char *  E,
unsigned argIndex,
const LangOptions LO,
const TargetInfo Target,
bool  Warn,
bool  isFreeBSDKPrintf 
)
static

Definition at line 70 of file PrintfFormatString.cpp.

References clang::analyze_format_string::ConversionSpecifier::aArg, clang::analyze_format_string::ConversionSpecifier::AArg, clang::analyze_format_string::ConversionSpecifier::cArg, clang::analyze_format_string::ConversionSpecifier::CArg, clang::analyze_format_string::ConversionSpecifier::consumesDataArgument(), clang::analyze_format_string::ConversionSpecifier::dArg, clang::analyze_format_string::ConversionSpecifier::DArg, clang::analyze_format_string::ConversionSpecifier::eArg, clang::analyze_format_string::ConversionSpecifier::EArg, clang::analyze_format_string::ConversionSpecifier::fArg, clang::analyze_format_string::ConversionSpecifier::FArg, clang::analyze_format_string::ConversionSpecifier::FreeBSDbArg, clang::analyze_format_string::ConversionSpecifier::FreeBSDDArg, clang::analyze_format_string::ConversionSpecifier::FreeBSDrArg, clang::analyze_format_string::ConversionSpecifier::FreeBSDyArg, clang::analyze_format_string::ConversionSpecifier::gArg, clang::analyze_format_string::ConversionSpecifier::GArg, clang::TargetInfo::getTriple(), clang::analyze_format_string::FormatStringHandler::HandleIncompleteSpecifier(), clang::analyze_format_string::FormatStringHandler::HandleInvalidPrintfConversionSpecifier(), clang::analyze_format_string::FormatStringHandler::HandleNullChar(), clang::analyze_format_string::FormatStringHandler::HandleObjCFlagsWithNonObjCConversion(), clang::analyze_format_string::ConversionSpecifier::iArg, clang::analyze_format_string::ConversionSpecifier::InvalidSpecifier, clang::analyze_format_string::ConversionSpecifier::nArg, clang::analyze_format_string::ConversionSpecifier::oArg, clang::analyze_format_string::ConversionSpecifier::OArg, clang::analyze_format_string::ConversionSpecifier::ObjCObjArg, clang::analyze_format_string::ConversionSpecifier::pArg, clang::analyze_format_string::ParseArgPosition(), clang::analyze_format_string::ParseFieldWidth(), clang::analyze_format_string::ParseLengthModifier(), ParseObjCFlags(), ParsePrecision(), clang::analyze_format_string::ConversionSpecifier::PercentArg, clang::analyze_format_string::ConversionSpecifier::PrintErrno, clang::analyze_format_string::ConversionSpecifier::sArg, clang::analyze_format_string::ConversionSpecifier::SArg, clang::analyze_format_string::ConversionSpecifier::uArg, clang::analyze_format_string::ConversionSpecifier::UArg, clang::analyze_format_string::ConversionSpecifier::xArg, clang::analyze_format_string::ConversionSpecifier::XArg, and clang::analyze_format_string::ConversionSpecifier::ZArg.

Referenced by clang::analyze_format_string::ParseFormatStringHasSArg(), and clang::analyze_format_string::ParsePrintfString().