clang 22.0.0git
|
#include "clang/AST/FormatString.h"
Static Public Member Functions | |
static ScanfSpecifier | Parse (const char *beg, const char *end) |
Static Public Member Functions inherited from clang::analyze_format_string::FormatSpecifier | |
static bool | namedTypeToLengthModifier (ASTContext &Ctx, QualType QT, LengthModifier &LM) |
For a TypedefType QT, if it is a named integer type such as size_t, assign the appropriate value to LM and return true. |
Additional Inherited Members | |
Protected Attributes inherited from clang::analyze_format_string::FormatSpecifier | |
LengthModifier | LM |
OptionalAmount | FieldWidth |
ConversionSpecifier | CS |
OptionalAmount | VectorNumElts |
bool | UsesPositionalArg |
Positional arguments, an IEEE extension: IEEE Std 1003.1, 2004 Edition http://www.opengroup.org/onlinepubs/009695399/functions/printf.html. | |
unsigned | argIndex |
Definition at line 672 of file FormatString.h.
|
inline |
Definition at line 675 of file FormatString.h.
References false, and clang::analyze_format_string::FormatSpecifier::FormatSpecifier().
Referenced by Parse().
|
inline |
Definition at line 695 of file FormatString.h.
References clang::analyze_format_string::FormatSpecifier::CS.
bool ScanfSpecifier::fixType | ( | QualType | QT, |
QualType | RawQT, | ||
const LangOptions & | LangOpt, | ||
ASTContext & | Ctx ) |
Definition at line 419 of file ScanfFormatString.cpp.
References clang::analyze_scanf::LengthModifier::AsChar, clang::analyze_scanf::LengthModifier::AsLong, clang::analyze_scanf::LengthModifier::AsLongDouble, clang::analyze_scanf::LengthModifier::AsLongLong, clang::analyze_scanf::LengthModifier::AsShort, clang::analyze_scanf::LengthModifier::AsWideChar, clang::analyze_scanf::OptionalAmount::Constant, clang::analyze_format_string::FormatSpecifier::CS, ConversionSpecifier::dArg, ConversionSpecifier::fArg, clang::analyze_format_string::FormatSpecifier::FieldWidth, getArgType(), clang::Type::getAs(), clang::ASTContext::getAsConstantArrayType(), clang::Type::getAsEnumDecl(), clang::BuiltinType::getKind(), clang::Type::getPointeeType(), clang::ASTContext::getTargetInfo(), clang::analyze_format_string::FormatSpecifier::hasValidLengthModifier(), clang::Type::isAnyCharacterType(), clang::Type::isPointerType(), clang::Type::isRealFloatingType(), clang::Type::isSignedIntegerType(), clang::Type::isUnsignedIntegerType(), clang::analyze_format_string::ArgType::isValid(), clang::Type::isWideCharType(), clang::analyze_format_string::FormatSpecifier::LM, clang::analyze_format_string::ArgType::matchesType(), clang::analyze_format_string::FormatSpecifier::namedTypeToLengthModifier(), ConversionSpecifier::nArg, clang::analyze_scanf::LengthModifier::None, clang::Normal, ConversionSpecifier::sArg, and ConversionSpecifier::uArg.
ArgType ScanfSpecifier::getArgType | ( | ASTContext & | Ctx | ) | const |
Definition at line 226 of file ScanfFormatString.cpp.
References ConversionSpecifier::AArg, ConversionSpecifier::aArg, clang::analyze_scanf::ArgType::AnyCharTy, clang::analyze_scanf::LengthModifier::AsAllocate, clang::analyze_scanf::LengthModifier::AsChar, clang::analyze_scanf::LengthModifier::AsInt32, clang::analyze_scanf::LengthModifier::AsInt3264, clang::analyze_scanf::LengthModifier::AsInt64, clang::analyze_scanf::LengthModifier::AsIntMax, clang::analyze_scanf::LengthModifier::AsLong, clang::analyze_scanf::LengthModifier::AsLongDouble, clang::analyze_scanf::LengthModifier::AsLongLong, clang::analyze_scanf::LengthModifier::AsMAllocate, clang::analyze_scanf::LengthModifier::AsPtrDiff, clang::analyze_scanf::LengthModifier::AsQuad, clang::analyze_scanf::LengthModifier::AsShort, clang::analyze_scanf::LengthModifier::AsShortLong, clang::analyze_scanf::LengthModifier::AsSizeT, clang::analyze_scanf::LengthModifier::AsWide, ConversionSpecifier::bArg, ConversionSpecifier::CArg, ConversionSpecifier::cArg, clang::analyze_scanf::ArgType::CPointerTy, clang::analyze_format_string::FormatSpecifier::CS, clang::analyze_scanf::ArgType::CStrTy, ConversionSpecifier::DArg, ConversionSpecifier::dArg, clang::ASTContext::DoubleTy, ConversionSpecifier::EArg, ConversionSpecifier::eArg, ConversionSpecifier::FArg, ConversionSpecifier::fArg, clang::ASTContext::FloatTy, ConversionSpecifier::GArg, ConversionSpecifier::gArg, getConversionSpecifier(), clang::ASTContext::getIntMaxType(), clang::ASTContext::getPointerDiffType(), clang::ASTContext::getSignedSizeType(), clang::ASTContext::getSizeType(), clang::ASTContext::getTargetInfo(), clang::TargetInfo::getTriple(), clang::ASTContext::getUIntMaxType(), clang::ASTContext::getUnsignedPointerDiffType(), clang::ASTContext::getWideCharType(), ConversionSpecifier::iArg, clang::ASTContext::IntTy, clang::analyze_scanf::ArgType::Invalid(), clang::analyze_format_string::FormatSpecifier::LM, clang::ASTContext::LongDoubleTy, clang::ASTContext::LongLongTy, clang::ASTContext::LongTy, clang::analyze_scanf::ArgType::makePtrdiffT(), clang::analyze_scanf::ArgType::makeSizeT(), ConversionSpecifier::nArg, clang::analyze_scanf::LengthModifier::None, ConversionSpecifier::OArg, ConversionSpecifier::oArg, ConversionSpecifier::pArg, clang::analyze_scanf::ArgType::PtrTo(), ConversionSpecifier::SArg, ConversionSpecifier::sArg, ConversionSpecifier::ScanListArg, clang::ASTContext::ShortTy, clang::ASTContext::SignedCharTy, ConversionSpecifier::UArg, ConversionSpecifier::uArg, clang::ASTContext::UnsignedCharTy, clang::ASTContext::UnsignedIntTy, clang::ASTContext::UnsignedLongLongTy, clang::ASTContext::UnsignedLongTy, clang::ASTContext::UnsignedShortTy, clang::analyze_scanf::ArgType::WCStrTy, ConversionSpecifier::XArg, and ConversionSpecifier::xArg.
Referenced by fixType().
|
inline |
Definition at line 691 of file FormatString.h.
References clang::cast(), and clang::analyze_format_string::FormatSpecifier::CS.
Referenced by getArgType().
|
inline |
Definition at line 683 of file FormatString.h.
Referenced by ParseScanfSpecifier().
|
static |
References ScanfSpecifier().
|
inline |
Definition at line 687 of file FormatString.h.
References clang::analyze_format_string::FormatSpecifier::CS.
Referenced by ParseScanfSpecifier().
|
inline |
Definition at line 679 of file FormatString.h.
Referenced by ParseScanfSpecifier().
void ScanfSpecifier::toString | ( | raw_ostream & | os | ) | const |
Definition at line 531 of file ScanfFormatString.cpp.
References clang::analyze_format_string::FormatSpecifier::CS, clang::analyze_format_string::FormatSpecifier::FieldWidth, clang::analyze_format_string::FormatSpecifier::getPositionalArgIndex(), clang::analyze_format_string::FormatSpecifier::LM, and clang::analyze_format_string::FormatSpecifier::usesPositionalArg().