summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/patches
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm/patches')
-rw-r--r--contrib/llvm/patches/README.TXT8
-rw-r--r--contrib/llvm/patches/patch-01-freebsd-kprintf.diff17
-rw-r--r--contrib/llvm/patches/patch-05-enable-armv6-clrex.diff4
-rw-r--r--contrib/llvm/patches/patch-06-clang-add-mips-triples.diff2
4 files changed, 15 insertions, 16 deletions
diff --git a/contrib/llvm/patches/README.TXT b/contrib/llvm/patches/README.TXT
index 3799b2d..aec7653 100644
--- a/contrib/llvm/patches/README.TXT
+++ b/contrib/llvm/patches/README.TXT
@@ -1,11 +1,11 @@
This is a set of individual patches, which contain all the customizations to
llvm/clang currently in the FreeBSD base system. These can be applied in
-alphabetical order to a pristine llvm/clang 3.6.0 RC3 source tree, for example
+alphabetical order to a pristine llvm/clang 3.6.0 RC4 source tree, for example
by doing:
-svn co https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_360/rc3 llvm-3.6.0-rc3
-svn co https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_360/rc3 llvm-3.6.0-rc3/tools/clang
-cd llvm-3.6.0-rc3
+svn co https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_360/rc4 llvm-3.6.0-rc4
+svn co https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_360/rc4 llvm-3.6.0-rc4/tools/clang
+cd llvm-3.6.0-rc4
for p in /usr/src/contrib/llvm/patches/patch-*.diff; do
patch -p0 -f -F0 -E -i $p -s || break
done
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(),
diff --git a/contrib/llvm/patches/patch-05-enable-armv6-clrex.diff b/contrib/llvm/patches/patch-05-enable-armv6-clrex.diff
index 7f4957c..574e3bd 100644
--- a/contrib/llvm/patches/patch-05-enable-armv6-clrex.diff
+++ b/contrib/llvm/patches/patch-05-enable-armv6-clrex.diff
@@ -7,8 +7,8 @@ Introduced here: http://svnweb.freebsd.org/changeset/base/275362
Index: lib/Target/ARM/ARMInstrInfo.td
===================================================================
---- lib/Target/ARM/ARMInstrInfo.td (revision 5)
-+++ lib/Target/ARM/ARMInstrInfo.td (revision 6)
+--- lib/Target/ARM/ARMInstrInfo.td
++++ lib/Target/ARM/ARMInstrInfo.td
@@ -4640,7 +4640,7 @@ def STLEXD : AIstlex<0b01, (outs GPR:$Rd),
def CLREX : AXI<(outs), (ins), MiscFrm, NoItinerary, "clrex",
diff --git a/contrib/llvm/patches/patch-06-clang-add-mips-triples.diff b/contrib/llvm/patches/patch-06-clang-add-mips-triples.diff
index 1173ca8..2a66949 100644
--- a/contrib/llvm/patches/patch-06-clang-add-mips-triples.diff
+++ b/contrib/llvm/patches/patch-06-clang-add-mips-triples.diff
@@ -13,7 +13,7 @@ Index: tools/clang/lib/Driver/Tools.cpp
===================================================================
--- tools/clang/lib/Driver/Tools.cpp
+++ tools/clang/lib/Driver/Tools.cpp
-@@ -6651,6 +6651,17 @@ void freebsd::Link::ConstructJob(Compilation &C, c
+@@ -6652,6 +6652,17 @@ void freebsd::Link::ConstructJob(Compilation &C, c
CmdArgs.push_back("elf32ppc_fbsd");
}
OpenPOWER on IntegriCloud