|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
tools/clang/include/clang/Sema/Sema.h 120 class FormatAttr;
References
gen/tools/clang/include/clang/AST/AttrImpl.inc 3733 FormatAttr *FormatAttr::clone(ASTContext &C) const {
3734 auto *A = new (C) FormatAttr(C, *this, type, formatIdx, firstArg);
3734 auto *A = new (C) FormatAttr(C, *this, type, formatIdx, firstArg);
11676 return cast<FormatAttr>(this)->getSpelling();
12256 return cast<FormatAttr>(this)->clone(C);
12836 return cast<FormatAttr>(this)->printPretty(OS, Policy);
gen/tools/clang/include/clang/AST/AttrTextNodeDump.inc 238 void VisitFormatAttr(const FormatAttr *A) {
239 const auto *SA = cast<FormatAttr>(A); (void)SA;
239 const auto *SA = cast<FormatAttr>(A); (void)SA;
gen/tools/clang/include/clang/AST/AttrVisitor.inc 371 bool TraverseFormatAttr(FormatAttr *A);
372 bool VisitFormatAttr(FormatAttr *A) {
2060 bool VISITORCLASS<Derived>::TraverseFormatAttr(FormatAttr *A) {
4136 return getDerived().TraverseFormatAttr(cast<FormatAttr>(A));
gen/tools/clang/include/clang/AST/Attrs.inc 5064 static FormatAttr *CreateImplicit(ASTContext &Ctx, IdentifierInfo * Type, int FormatIdx, int FirstArg, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
5065 auto *A = new (Ctx) FormatAttr(Ctx, CommonInfo, Type, FormatIdx, FirstArg);
5065 auto *A = new (Ctx) FormatAttr(Ctx, CommonInfo, Type, FormatIdx, FirstArg);
5072 static FormatAttr *Create(ASTContext &Ctx, IdentifierInfo * Type, int FormatIdx, int FirstArg, const AttributeCommonInfo &CommonInfo = {SourceRange{}}) {
5073 auto *A = new (Ctx) FormatAttr(Ctx, CommonInfo, Type, FormatIdx, FirstArg);
5073 auto *A = new (Ctx) FormatAttr(Ctx, CommonInfo, Type, FormatIdx, FirstArg);
5079 static FormatAttr *CreateImplicit(ASTContext &Ctx, IdentifierInfo * Type, int FormatIdx, int FirstArg, SourceRange Range, AttributeCommonInfo::Syntax Syntax) {
5083 static FormatAttr *Create(ASTContext &Ctx, IdentifierInfo * Type, int FormatIdx, int FirstArg, SourceRange Range, AttributeCommonInfo::Syntax Syntax) {
5099 FormatAttr *clone(ASTContext &C) const;
gen/tools/clang/include/clang/Sema/AttrTemplateInstantiate.inc 471 const auto *A = cast<FormatAttr>(At);
471 const auto *A = cast<FormatAttr>(At);
gen/tools/clang/include/clang/Serialization/AttrPCHRead.inc 851 New = new (Context) FormatAttr(Context, Info, type, formatIdx, firstArg);
gen/tools/clang/include/clang/Serialization/AttrPCHWrite.inc 641 const auto *SA = cast<FormatAttr>(A);
641 const auto *SA = cast<FormatAttr>(A);
include/llvm/ADT/STLExtras.h 75 typename std::add_pointer<typename std::add_const<T>::type>::type;
include/llvm/Support/Casting.h 58 return To::classof(&Val);
66 static inline bool doit(const From &) { return true; }
104 static inline bool doit(const From *Val) {
106 return isa_impl<To, From>::doit(*Val);
106 return isa_impl<To, From>::doit(*Val);
122 return isa_impl_wrap<To, SimpleFrom,
132 return isa_impl_cl<To,FromTy>::doit(Val);
142 return isa_impl_wrap<X, const Y,
172 using ret_type = To *; // Pointer arg case, return Ty*
176 using ret_type = const To *; // Constant pointer arg case, return const Ty*
198 using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
204 using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
210 To, From, typename simplify_type<From>::SimpleType>::ret_type;
227 static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
228 typename cast_retty<To, FromTy>::ret_type Res2
256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
265 return cast_convert_val<X, Y*,
337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
tools/clang/include/clang/AST/AttrIterator.h 47 while (!isa<SpecificAttr>(*Current))
52 while (Current != I && !isa<SpecificAttr>(*Current))
57 using value_type = SpecificAttr *;
58 using reference = SpecificAttr *;
59 using pointer = SpecificAttr *;
68 return cast<SpecificAttr>(*Current);
101 inline specific_attr_iterator<SpecificAttr, Container>
106 inline specific_attr_iterator<SpecificAttr, Container>
113 return specific_attr_begin<SpecificAttr>(container) !=
114 specific_attr_end<SpecificAttr>(container);
tools/clang/include/clang/AST/DeclBase.h 524 llvm::iterator_range<specific_attr_iterator<T>> specific_attrs() const {
525 return llvm::make_range(specific_attr_begin<T>(), specific_attr_end<T>());
525 return llvm::make_range(specific_attr_begin<T>(), specific_attr_end<T>());
529 specific_attr_iterator<T> specific_attr_begin() const {
534 specific_attr_iterator<T> specific_attr_end() const {
543 return hasAttrs() && hasSpecificAttr<T>(getAttrs());
tools/clang/include/clang/Sema/Sema.h 2803 FormatAttr *mergeFormatAttr(Decl *D, const AttributeCommonInfo &CI,
11245 static bool getFormatStringInfo(const FormatAttr *Format, bool IsCXXMember,
11342 static FormatStringType GetFormatStringType(const FormatAttr *Format);
11346 static bool GetFormatNSStringIdx(const FormatAttr *Format, unsigned &Idx);
11349 bool CheckFormatArguments(const FormatAttr *Format,
tools/clang/lib/CodeGen/Address.h 108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/Sema/SemaChecking.cpp 4088 bool Sema::getFormatStringInfo(const FormatAttr *Format, bool IsCXXMember,
4144 bool Sema::GetFormatNSStringIdx(const FormatAttr *Format, unsigned &Idx) {
4169 for (const auto *I : FDecl->specific_attrs<FormatAttr>()) {
4169 for (const auto *I : FDecl->specific_attrs<FormatAttr>()) {
4315 for (const auto *I : FDecl->specific_attrs<FormatAttr>()) {
4315 for (const auto *I : FDecl->specific_attrs<FormatAttr>()) {
6937 for (const auto *PVFormat : ND->specific_attrs<FormatAttr>()) {
6937 for (const auto *PVFormat : ND->specific_attrs<FormatAttr>()) {
7101 Sema::FormatStringType Sema::GetFormatStringType(const FormatAttr *Format) {
7118 bool Sema::CheckFormatArguments(const FormatAttr *Format,
tools/clang/lib/Sema/SemaDecl.cpp 2543 else if (const auto *FA = dyn_cast<FormatAttr>(Attr))
2543 else if (const auto *FA = dyn_cast<FormatAttr>(Attr))
14225 if (!FD->hasAttr<FormatAttr>()) {
14231 FD->addAttr(FormatAttr::CreateImplicit(Context,
14240 if (!FD->hasAttr<FormatAttr>())
14241 FD->addAttr(FormatAttr::CreateImplicit(Context,
14331 if (!FD->hasAttr<FormatAttr>())
14332 FD->addAttr(FormatAttr::CreateImplicit(Context,
tools/clang/lib/Sema/SemaDeclAttr.cpp 3203 FormatAttr *Sema::mergeFormatAttr(Decl *D, const AttributeCommonInfo &CI,
3207 for (auto *F : D->specific_attrs<FormatAttr>()) {
3207 for (auto *F : D->specific_attrs<FormatAttr>()) {
3219 return ::new (Context) FormatAttr(Context, CI, Format, FormatIdx, FirstArg);
3339 FormatAttr *NewAttr = S.mergeFormatAttr(D, AL, II, Idx, FirstArg);
tools/clang/lib/Sema/SemaExprObjC.cpp 2395 for (const auto *I : Method->specific_attrs<FormatAttr>()) {
2395 for (const auto *I : Method->specific_attrs<FormatAttr>()) {
tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp 706 for (const auto *Format : FDecl->specific_attrs<FormatAttr>()) {
706 for (const auto *Format : FDecl->specific_attrs<FormatAttr>()) {
usr/include/c++/7.4.0/type_traits 1558 { typedef _Tp type; };
1580 { typedef _Tp const type; };