clang 22.0.0git
|
#include "FormatStringParsing.h"
#include "clang/AST/FormatString.h"
#include "clang/AST/OSLog.h"
#include "clang/Basic/TargetInfo.h"
#include "llvm/Support/Regex.h"
#include "clang/Basic/OpenCLImageTypes.def"
#include "clang/Basic/OpenCLExtensionTypes.def"
#include "clang/Basic/AArch64ACLETypes.def"
#include "clang/Basic/PPCTypes.def"
#include "clang/Basic/RISCVVTypes.def"
#include "clang/Basic/WebAssemblyReferenceTypes.def"
#include "clang/Basic/AMDGPUTypes.def"
#include "clang/Basic/HLSLIntangibleTypes.def"
#include "clang/AST/BuiltinTypes.def"
Go to the source code of this file.
Classes | |
class | PrintfSpecifier |
Macros | |
#define | IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) |
#define | EXT_OPAQUE_TYPE(ExtType, Id, Ext) |
#define | SVE_TYPE(Name, Id, SingletonId) |
#define | PPC_VECTOR_TYPE(Name, Id, Size) |
#define | RVV_TYPE(Name, Id, SingletonId) |
#define | WASM_TYPE(Name, Id, SingletonId) |
#define | AMDGPU_TYPE(Name, Id, SingletonId, Width, Align) |
#define | HLSL_INTANGIBLE_TYPE(Name, Id, SingletonId) |
#define | SIGNED_TYPE(Id, SingletonId) |
#define | UNSIGNED_TYPE(Id, SingletonId) |
#define | FLOATING_TYPE(Id, SingletonId) |
#define | BUILTIN_TYPE(Id, SingletonId) |
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) |
#define AMDGPU_TYPE | ( | Name, | |
Id, | |||
SingletonId, | |||
Width, | |||
Align ) |
#define BUILTIN_TYPE | ( | Id, | |
SingletonId ) |
#define EXT_OPAQUE_TYPE | ( | ExtType, | |
Id, | |||
Ext ) |
#define FLOATING_TYPE | ( | Id, | |
SingletonId ) |
#define HLSL_INTANGIBLE_TYPE | ( | Name, | |
Id, | |||
SingletonId ) |
#define IMAGE_TYPE | ( | ImgType, | |
Id, | |||
SingletonId, | |||
Access, | |||
Suffix ) |
#define PPC_VECTOR_TYPE | ( | Name, | |
Id, | |||
Size ) |
#define RVV_TYPE | ( | Name, | |
Id, | |||
SingletonId ) |
#define SIGNED_TYPE | ( | Id, | |
SingletonId ) |
#define SVE_TYPE | ( | Name, | |
Id, | |||
SingletonId ) |
#define UNSIGNED_TYPE | ( | Id, | |
SingletonId ) |
#define WASM_TYPE | ( | Name, | |
Id, | |||
SingletonId ) |
Definition at line 30 of file PrintfFormatString.cpp.
|
static |
Definition at line 53 of file PrintfFormatString.cpp.
References clang::analyze_format_string::FormatStringHandler::HandleEmptyObjCModifierFlag(), clang::analyze_format_string::FormatStringHandler::HandleInvalidObjCModifierFlag(), and clang::analyze_printf::PrintfSpecifier::setHasObjCTechnicalTerm().
Referenced by ParsePrintfSpecifier().
|
static |
Definition at line 38 of file PrintfFormatString.cpp.
References clang::analyze_format_string::OptionalAmount::isInvalid(), clang::analyze_format_string::PrecisionPos, and clang::analyze_printf::PrintfSpecifier::setPrecision().
Referenced by ParsePrintfSpecifier().
|
static |
Definition at line 71 of file PrintfFormatString.cpp.
References ConversionSpecifier::AArg, ConversionSpecifier::aArg, ConversionSpecifier::BArg, ConversionSpecifier::bArg, c, ConversionSpecifier::CArg, ConversionSpecifier::cArg, clang::analyze_format_string::ConversionSpecifier::consumesDataArgument(), ConversionSpecifier::DArg, ConversionSpecifier::dArg, ConversionSpecifier::EArg, ConversionSpecifier::eArg, ConversionSpecifier::FArg, ConversionSpecifier::fArg, ConversionSpecifier::FreeBSDbArg, ConversionSpecifier::FreeBSDDArg, ConversionSpecifier::FreeBSDrArg, ConversionSpecifier::FreeBSDyArg, ConversionSpecifier::GArg, ConversionSpecifier::gArg, clang::analyze_format_string::FormatStringHandler::HandleIncompleteSpecifier(), clang::analyze_format_string::FormatStringHandler::handleInvalidMaskType(), clang::analyze_format_string::FormatStringHandler::HandleInvalidPrintfConversionSpecifier(), clang::analyze_format_string::FormatStringHandler::HandleNullChar(), clang::analyze_format_string::FormatStringHandler::HandleObjCFlagsWithNonObjCConversion(), ConversionSpecifier::iArg, ConversionSpecifier::InvalidSpecifier, clang::analyze_os_log::OSLogBufferItem::IsPrivate, clang::analyze_os_log::OSLogBufferItem::IsPublic, clang::analyze_os_log::OSLogBufferItem::IsSensitive, ConversionSpecifier::KArg, ConversionSpecifier::kArg, clang::Match, ConversionSpecifier::nArg, ConversionSpecifier::OArg, ConversionSpecifier::oArg, ConversionSpecifier::ObjCObjArg, ConversionSpecifier::PArg, ConversionSpecifier::pArg, clang::analyze_format_string::ParseArgPosition(), clang::analyze_format_string::ParseFieldWidth(), clang::analyze_format_string::ParseLengthModifier(), ParseObjCFlags(), ParsePrecision(), clang::analyze_format_string::ParseUTF8InvalidSpecifier(), clang::analyze_format_string::ParseVectorModifier(), ConversionSpecifier::PercentArg, ConversionSpecifier::PrintErrno, ConversionSpecifier::RArg, ConversionSpecifier::rArg, ConversionSpecifier::SArg, ConversionSpecifier::sArg, clang::analyze_format_string::FormatSpecifier::setArgIndex(), clang::analyze_printf::PrintfSpecifier::setConversionSpecifier(), clang::analyze_format_string::ConversionSpecifier::setEndScanList(), clang::analyze_printf::PrintfSpecifier::setHasAlternativeForm(), clang::analyze_printf::PrintfSpecifier::setHasLeadingZeros(), clang::analyze_printf::PrintfSpecifier::setHasPlusPrefix(), clang::analyze_printf::PrintfSpecifier::setHasSpacePrefix(), clang::analyze_printf::PrintfSpecifier::setHasThousandsGrouping(), clang::analyze_printf::PrintfSpecifier::setIsLeftJustified(), clang::analyze_printf::PrintfSpecifier::setIsPrivate(), clang::analyze_printf::PrintfSpecifier::setIsPublic(), clang::analyze_printf::PrintfSpecifier::setIsSensitive(), clang::analyze_printf::PrintfSpecifier::setMaskType(), ConversionSpecifier::UArg, ConversionSpecifier::uArg, clang::analyze_printf::PrintfSpecifier::usesPositionalArg(), ConversionSpecifier::XArg, ConversionSpecifier::xArg, and ConversionSpecifier::ZArg.
Referenced by clang::analyze_format_string::parseFormatStringHasFormattingSpecifiers(), clang::analyze_format_string::ParseFormatStringHasSArg(), and clang::analyze_format_string::ParsePrintfString().