summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/patches/patch-01-freebsd-kprintf.diff
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2015-02-19 22:20:19 +0000
committerdim <dim@FreeBSD.org>2015-02-19 22:20:19 +0000
commit1e024675bcd5e4ace8bffb2dd6afd3fa8b8ad7f3 (patch)
tree84663adb8262b7962030778aaba745cd98e8b356 /contrib/llvm/patches/patch-01-freebsd-kprintf.diff
parent184b3c7999c408b8e298b506ccfdff9d81c9ffd5 (diff)
parent49b6407b6cc89756540e2097c1cf8b9bb4a422e1 (diff)
downloadFreeBSD-src-1e024675bcd5e4ace8bffb2dd6afd3fa8b8ad7f3.zip
FreeBSD-src-1e024675bcd5e4ace8bffb2dd6afd3fa8b8ad7f3.tar.gz
Merge llvm 3.6.0rc4 from ^/vendor/llvm/dist, merge clang 3.6.0rc4 from
^/vendor/clang/dist, resolve conflicts, and update patches.
Diffstat (limited to 'contrib/llvm/patches/patch-01-freebsd-kprintf.diff')
-rw-r--r--contrib/llvm/patches/patch-01-freebsd-kprintf.diff17
1 files changed, 8 insertions, 9 deletions
diff --git a/contrib/llvm/patches/patch-01-freebsd-kprintf.diff b/contrib/llvm/patches/patch-01-freebsd-kprintf.diff
index cc203c4..cccfedf 100644
--- a/contrib/llvm/patches/patch-01-freebsd-kprintf.diff
+++ b/contrib/llvm/patches/patch-01-freebsd-kprintf.diff
@@ -21,18 +21,17 @@ Index: tools/clang/include/clang/Analysis/Analyses/FormatString.h
// GlibC specific specifiers.
PrintErrno, // 'm'
-@@ -203,8 +209,8 @@ class ConversionSpecifier {
- unsigned getLength() const {
+@@ -204,7 +210,8 @@ class ConversionSpecifier {
return EndScanList ? EndScanList - Position : 1;
}
--
+
- bool isIntArg() const { return kind >= IntArgBeg && kind <= IntArgEnd; }
+ bool isIntArg() const { return (kind >= IntArgBeg && kind <= IntArgEnd) ||
+ kind == FreeBSDrArg || kind == FreeBSDyArg; }
bool isUIntArg() const { return kind >= UIntArgBeg && kind <= UIntArgEnd; }
bool isAnyIntArg() const { return kind >= IntArgBeg && kind <= UIntArgEnd; }
const char *toString() const;
-@@ -646,7 +652,7 @@ class FormatStringHandler {
+@@ -646,7 +653,7 @@ class FormatStringHandler {
bool ParsePrintfString(FormatStringHandler &H,
const char *beg, const char *end, const LangOptions &LO,
@@ -45,7 +44,7 @@ Index: tools/clang/include/clang/Sema/Sema.h
===================================================================
--- tools/clang/include/clang/Sema/Sema.h
+++ tools/clang/include/clang/Sema/Sema.h
-@@ -8572,6 +8572,7 @@ class Sema {
+@@ -8566,6 +8566,7 @@ class Sema {
FST_Strftime,
FST_Strfmon,
FST_Kprintf,
@@ -231,7 +230,7 @@ Index: tools/clang/lib/Sema/SemaChecking.cpp
===================================================================
--- tools/clang/lib/Sema/SemaChecking.cpp
+++ tools/clang/lib/Sema/SemaChecking.cpp
-@@ -2579,6 +2579,7 @@ Sema::FormatStringType Sema::GetFormatStringType(c
+@@ -2584,6 +2584,7 @@ Sema::FormatStringType Sema::GetFormatStringType(c
.Case("strftime", FST_Strftime)
.Case("strfmon", FST_Strfmon)
.Cases("kprintf", "cmn_err", "vcmn_err", "zcmn_err", FST_Kprintf)
@@ -239,7 +238,7 @@ Index: tools/clang/lib/Sema/SemaChecking.cpp
.Default(FST_Unknown);
}
-@@ -3360,6 +3361,43 @@ CheckPrintfHandler::HandlePrintfSpecifier(const an
+@@ -3365,6 +3366,43 @@ CheckPrintfHandler::HandlePrintfSpecifier(const an
CoveredArgs.set(argIndex);
}
@@ -283,7 +282,7 @@ Index: tools/clang/lib/Sema/SemaChecking.cpp
// Check for using an Objective-C specific conversion specifier
// in a non-ObjC literal.
if (!ObjCContext && CS.isObjCArg()) {
-@@ -3983,7 +4021,8 @@ void Sema::CheckFormatString(const StringLiteral *
+@@ -3988,7 +4026,8 @@ void Sema::CheckFormatString(const StringLiteral *
return;
}
@@ -293,7 +292,7 @@ Index: tools/clang/lib/Sema/SemaChecking.cpp
CheckPrintfHandler H(*this, FExpr, OrigFormatExpr, firstDataArg,
numDataArgs, (Type == FST_NSString),
Str, HasVAListArg, Args, format_idx,
-@@ -3991,7 +4030,8 @@ void Sema::CheckFormatString(const StringLiteral *
+@@ -3996,7 +4035,8 @@ void Sema::CheckFormatString(const StringLiteral *
if (!analyze_format_string::ParsePrintfString(H, Str, Str + StrLen,
getLangOpts(),
OpenPOWER on IntegriCloud