diff options
Diffstat (limited to 'contrib/llvm/patches')
-rw-r--r-- | contrib/llvm/patches/README.TXT | 8 | ||||
-rw-r--r-- | contrib/llvm/patches/patch-01-freebsd-kprintf.diff | 17 | ||||
-rw-r--r-- | contrib/llvm/patches/patch-05-enable-armv6-clrex.diff | 4 | ||||
-rw-r--r-- | contrib/llvm/patches/patch-06-clang-add-mips-triples.diff | 2 |
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"); } |