reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/include/clang/AST/FormatString.h
  286   static ArgType Invalid() { return ArgType(InvalidTy); }
  294   static ArgType PtrTo(const ArgType& A) {
  294   static ArgType PtrTo(const ArgType& A) {
  296     ArgType Res = A;
  302   static ArgType makeSizeT(const ArgType &A) {
  302   static ArgType makeSizeT(const ArgType &A) {
  303     ArgType Res = A;
  310   static ArgType makePtrdiffT(const ArgType &A) {
  310   static ArgType makePtrdiffT(const ArgType &A) {
  311     ArgType Res = A;
  320   ArgType makeVectorType(ASTContext &C, unsigned NumElts) const;
  374   ArgType getArgType(ASTContext &Ctx) const;
  514   ArgType getScalarArgType(ASTContext &Ctx, bool IsObjCLiteral) const;
  582   ArgType getArgType(ASTContext &Ctx, bool IsObjCLiteral) const;
  673   ArgType getArgType(ASTContext &Ctx) const;
tools/clang/lib/AST/FormatString.cpp
  323 clang::analyze_format_string::ArgType::MatchKind
  496 ArgType ArgType::makeVectorType(ASTContext &C, unsigned NumElts) const {
  499     return ArgType::Invalid();
  567 ArgType
tools/clang/lib/AST/PrintfFormatString.cpp
  487 ArgType PrintfSpecifier::getScalarArgType(ASTContext &Ctx,
  495         return ArgType(ArgType::WIntTy, "wint_t");
  501         return ArgType::Invalid();
  515         return ArgType::AnyCharTy;
  526         return ArgType::makeSizeT(ArgType(Ctx.getSignedSizeType(), "ssize_t"));
  532         return ArgType::makePtrdiffT(
  537         return ArgType::Invalid();
  561         return ArgType::makeSizeT(ArgType(Ctx.getSizeType(), "size_t"));
  567         return ArgType::makePtrdiffT(
  572         return ArgType::Invalid();
  596         return ArgType::PtrTo(Ctx.IntTy);
  598         return ArgType::PtrTo(Ctx.SignedCharTy);
  600         return ArgType::PtrTo(Ctx.ShortTy);
  602         return ArgType::PtrTo(Ctx.LongTy);
  605         return ArgType::PtrTo(Ctx.LongLongTy);
  607         return ArgType::PtrTo(ArgType(Ctx.getIntMaxType(), "intmax_t"));
  609         return ArgType::PtrTo(ArgType(Ctx.getSignedSizeType(), "ssize_t"));
  611         return ArgType::PtrTo(ArgType(Ctx.getPointerDiffType(), "ptrdiff_t"));
  620         return ArgType::Invalid();
  632         return ArgType(ArgType::WCStrTy, "wchar_t *");
  635         return ArgType(ArgType::WCStrTy, "wchar_t *");
  636       return ArgType::CStrTy;
  643         return ArgType::CStrTy;
  644       return ArgType(ArgType::WCStrTy, "wchar_t *");
  654       return ArgType::CPointerTy;
  656       return ArgType::ObjCPointerTy;
  666 ArgType PrintfSpecifier::getArgType(ASTContext &Ctx,
  671     return ArgType::Invalid();
  673   ArgType ScalarTy = getScalarArgType(Ctx, IsObjCLiteral);
  862     const analyze_printf::ArgType &ATR = getArgType(Ctx, IsObjCLiteral);
tools/clang/lib/AST/ScanfFormatString.cpp
  225 ArgType ScanfSpecifier::getArgType(ASTContext &Ctx) const {
  229     return ArgType::Invalid();
  238           return ArgType::PtrTo(Ctx.IntTy);
  240           return ArgType::PtrTo(ArgType::AnyCharTy);
  240           return ArgType::PtrTo(ArgType::AnyCharTy);
  242           return ArgType::PtrTo(Ctx.ShortTy);
  244           return ArgType::PtrTo(Ctx.LongTy);
  247           return ArgType::PtrTo(Ctx.LongLongTy);
  249           return ArgType::PtrTo(ArgType(Ctx.LongLongTy, "__int64"));
  251           return ArgType::PtrTo(ArgType(Ctx.getIntMaxType(), "intmax_t"));
  253           return ArgType::PtrTo(ArgType(Ctx.getSignedSizeType(), "ssize_t"));
  255           return ArgType::PtrTo(ArgType(Ctx.getPointerDiffType(), "ptrdiff_t"));
  258           return ArgType::PtrTo(Ctx.LongLongTy);
  265           return ArgType::Invalid();
  278           return ArgType::PtrTo(Ctx.UnsignedIntTy);
  280           return ArgType::PtrTo(Ctx.UnsignedCharTy);
  282           return ArgType::PtrTo(Ctx.UnsignedShortTy);
  284           return ArgType::PtrTo(Ctx.UnsignedLongTy);
  287           return ArgType::PtrTo(Ctx.UnsignedLongLongTy);
  289           return ArgType::PtrTo(ArgType(Ctx.UnsignedLongLongTy, "unsigned __int64"));
  291           return ArgType::PtrTo(ArgType(Ctx.getUIntMaxType(), "uintmax_t"));
  293           return ArgType::PtrTo(ArgType(Ctx.getSizeType(), "size_t"));
  295           return ArgType::PtrTo(
  299           return ArgType::PtrTo(Ctx.UnsignedLongLongTy);
  306           return ArgType::Invalid();
  321           return ArgType::PtrTo(Ctx.FloatTy);
  323           return ArgType::PtrTo(Ctx.DoubleTy);
  325           return ArgType::PtrTo(Ctx.LongDoubleTy);
  327           return ArgType::Invalid();
  336           return ArgType::PtrTo(ArgType::AnyCharTy);
  336           return ArgType::PtrTo(ArgType::AnyCharTy);
  339           return ArgType::PtrTo(ArgType(Ctx.getWideCharType(), "wchar_t"));
  342           return ArgType::PtrTo(ArgType::CStrTy);
  342           return ArgType::PtrTo(ArgType::CStrTy);
  345             return ArgType::PtrTo(ArgType::AnyCharTy);
  345             return ArgType::PtrTo(ArgType::AnyCharTy);
  348           return ArgType::Invalid();
  356           return ArgType::PtrTo(ArgType(Ctx.getWideCharType(), "wchar_t"));
  359           return ArgType::PtrTo(ArgType(ArgType::WCStrTy, "wchar_t *"));
  359           return ArgType::PtrTo(ArgType(ArgType::WCStrTy, "wchar_t *"));
  362             return ArgType::PtrTo(ArgType::AnyCharTy);
  362             return ArgType::PtrTo(ArgType::AnyCharTy);
  365           return ArgType::Invalid();
  370       return ArgType::PtrTo(ArgType::CPointerTy);
  370       return ArgType::PtrTo(ArgType::CPointerTy);
  376           return ArgType::PtrTo(Ctx.IntTy);
  378           return ArgType::PtrTo(Ctx.SignedCharTy);
  380           return ArgType::PtrTo(Ctx.ShortTy);
  382           return ArgType::PtrTo(Ctx.LongTy);
  385           return ArgType::PtrTo(Ctx.LongLongTy);
  387           return ArgType::PtrTo(ArgType(Ctx.LongLongTy, "__int64"));
  389           return ArgType::PtrTo(ArgType(Ctx.getIntMaxType(), "intmax_t"));
  391           return ArgType::PtrTo(ArgType(Ctx.getSignedSizeType(), "ssize_t"));
  393           return ArgType::PtrTo(ArgType(Ctx.getPointerDiffType(), "ptrdiff_t"));
  402           return ArgType::Invalid();
  508     const analyze_scanf::ArgType &AT = getArgType(Ctx);
tools/clang/lib/Sema/SemaChecking.cpp
 7727   bool checkForCStrMembers(const analyze_printf::ArgType &AT,
 7790       const analyze_printf::ArgType &AT = Amt.getArgType(S.Context);
 7945     const analyze_printf::ArgType &AT, const Expr *E) {
 8028     const analyze_printf::ArgType &AT =
 8030         ArgType(S.Context.IntTy) : ArgType::CPointerTy;
 8041     const analyze_printf::ArgType &AT2 = ArgType::CStrTy;
 8041     const analyze_printf::ArgType &AT2 = ArgType::CStrTy;
 8300   const analyze_printf::ArgType &AT = FS.getArgType(S.Context, isObjCContext());
 8325   analyze_printf::ArgType::MatchKind Match = AT.matchesType(S.Context, ExprTy);
 8326   if (Match == analyze_printf::ArgType::Match)
 8345         const analyze_printf::ArgType::MatchKind ImplicitMatch =
 8347         if (ImplicitMatch == analyze_printf::ArgType::Match)
 8349         if (ImplicitMatch == ArgType::NoMatchPedantic ||
 8350             ImplicitMatch == ArgType::NoMatchTypeConfusion)
 8413         Match = ArgType::NoMatchPedantic;
 8435       case ArgType::Match: llvm_unreachable("expected non-matching");
 8436       case ArgType::NoMatchPedantic:
 8439       case ArgType::NoMatchTypeConfusion:
 8442       case ArgType::NoMatch:
 8502         unsigned Diag = Match == ArgType::NoMatchPedantic
 8531       case ArgType::Match: llvm_unreachable("expected non-matching");
 8532       case ArgType::NoMatchPedantic:
 8535       case ArgType::NoMatchTypeConfusion:
 8538       case ArgType::NoMatch:
 8715   const analyze_format_string::ArgType &AT = FS.getArgType(S.Context);
 8721   analyze_format_string::ArgType::MatchKind Match =
 8723   bool Pedantic = Match == analyze_format_string::ArgType::NoMatchPedantic;
 8724   if (Match == analyze_format_string::ArgType::Match)