diff options
author | Brooks Davis <brooks@FreeBSD.org> | 2019-01-18 22:34:09 +0000 |
---|---|---|
committer | Brooks Davis <brooks@FreeBSD.org> | 2019-01-18 22:34:09 +0000 |
commit | 7dbb69055b65696bb34824d99f681ea1de2614b9 (patch) | |
tree | fda073d0d1fab8091eef471649cf6b34994183b1 /lang/clang35/files/patch-tools_clang_lib_Sema_SemaChecking.cpp | |
parent | mail/panda-imap: fix after r490468 (diff) |
Remove obsolete and unmaintained clang 3.5.
devel/llvm35 remains to support lang/pure.
PR: 230473
Diffstat (limited to 'lang/clang35/files/patch-tools_clang_lib_Sema_SemaChecking.cpp')
-rw-r--r-- | lang/clang35/files/patch-tools_clang_lib_Sema_SemaChecking.cpp | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/lang/clang35/files/patch-tools_clang_lib_Sema_SemaChecking.cpp b/lang/clang35/files/patch-tools_clang_lib_Sema_SemaChecking.cpp deleted file mode 100644 index ca19afb81e01..000000000000 --- a/lang/clang35/files/patch-tools_clang_lib_Sema_SemaChecking.cpp +++ /dev/null @@ -1,42 +0,0 @@ ---- tools/clang/lib/Sema/SemaChecking.cpp.orig -+++ tools/clang/lib/Sema/SemaChecking.cpp -@@ -1511,6 +1511,39 @@ - CoveredArgs.set(argIndex); - } - -+ // FreeBSD extensions -+ if (CS.getKind() == ConversionSpecifier::bArg || CS.getKind() == ConversionSpecifier::DArg) { -+ // claim the second argument -+ CoveredArgs.set(argIndex + 1); -+ -+ // Now type check the data expression that matches the -+ // format specifier. -+ const Expr *Ex = getDataArg(argIndex); -+ QualType type = (CS.getKind() == ConversionSpecifier::bArg) ? S.Context.IntTy : S.Context.getPointerType(S.Context.UnsignedCharTy); -+ //const analyze_printf::ArgType &ATR = S.Context.IntTy; -+ const analyze_printf::ArgType &ATR = type; -+ if (ATR.isValid() && !ATR.matchesType(S.Context, Ex->getType())) -+ S.Diag(getLocationOfByte(CS.getStart()), -+ diag::warn_format_conversion_argument_type_mismatch) -+ << ATR.getRepresentativeType(S.Context) << Ex->getType() -+ << getSpecifierRange(startSpecifier, specifierLen) -+ << Ex->getSourceRange(); -+ -+ // Now type check the data expression that matches the -+ // format specifier. -+ Ex = getDataArg(argIndex + 1); -+ const analyze_printf::ArgType &ATR2 = ArgType::CStrTy; -+ if (ATR2.isValid() && !ATR2.matchesType(S.Context, Ex->getType())) -+ S.Diag(getLocationOfByte(CS.getStart()), -+ diag::warn_format_conversion_argument_type_mismatch) -+ << ATR2.getRepresentativeType(S.Context) << Ex->getType() -+ << getSpecifierRange(startSpecifier, specifierLen) -+ << Ex->getSourceRange(); -+ -+ return true; -+ } -+ // END OF FREEBSD EXTENSIONS -+ - // Check for using an Objective-C specific conversion specifier - // in a non-ObjC literal. - if (!IsObjCLiteral && CS.isObjCArg()) { |