aboutsummaryrefslogtreecommitdiff
path: root/devel/llvm-devel
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2010-05-06 15:35:00 +0000
committerBrooks Davis <brooks@FreeBSD.org>2010-05-06 15:35:00 +0000
commit619336abdf11002aab0c85490943ce8d6e9df4c0 (patch)
treeac01c9c5194b2cdf14fc468a96d6b53e7aef5cfe /devel/llvm-devel
parentb6ffef5760b078473c3f1698f2c05e959e721d70 (diff)
downloadports-619336abdf11002aab0c85490943ce8d6e9df4c0.tar.gz
ports-619336abdf11002aab0c85490943ce8d6e9df4c0.zip
Update to r103179.
Start calling this 2.8.r* since 2.7 has shipped. Add support for FreeBSD printf format extensions.[0] Submitted by: rdivacky [0]
Notes
Notes: svn path=/head/; revision=253830
Diffstat (limited to 'devel/llvm-devel')
-rw-r--r--devel/llvm-devel/Makefile4
-rw-r--r--devel/llvm-devel/Makefile.svn_rev2
-rw-r--r--devel/llvm-devel/distinfo6
-rw-r--r--devel/llvm-devel/files/patch-tools_clang_include_clang_Analysis_Analyses_PrintfFormatString.h21
-rw-r--r--devel/llvm-devel/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp25
-rw-r--r--devel/llvm-devel/files/patch-tools_clang_lib_Sema_SemaChecking.cpp45
-rw-r--r--devel/llvm-devel/pkg-plist34
7 files changed, 117 insertions, 20 deletions
diff --git a/devel/llvm-devel/Makefile b/devel/llvm-devel/Makefile
index eddb9e52cb16..29d74a7b83e1 100644
--- a/devel/llvm-devel/Makefile
+++ b/devel/llvm-devel/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= llvm
-DISTVERSION= 2.7.r${SVN_REV}
+DISTVERSION= 2.8.r${SVN_REV}
CATEGORIES= devel lang
MASTER_SITES= ${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR= brooks
@@ -131,6 +131,7 @@ regression-test: ${BUILD_COOKIE}
fi
PLIST_FILE_LIST= bin/bugpoint \
+ bin/c-index-test \
bin/ccc-analyzer \
bin/clang* \
bin/llc \
@@ -139,7 +140,6 @@ PLIST_FILE_LIST= bin/bugpoint \
bin/opt \
bin/scan-build \
bin/tblgen \
- lib/libCIndex.* \
lib/libCompilerDriver.a \
lib/libEnhancedDisassembly.so \
lib/libEnhancedDisassembly.a \
diff --git a/devel/llvm-devel/Makefile.svn_rev b/devel/llvm-devel/Makefile.svn_rev
index 8e6647efa53d..fe4e52b79073 100644
--- a/devel/llvm-devel/Makefile.svn_rev
+++ b/devel/llvm-devel/Makefile.svn_rev
@@ -1 +1 @@
-SVN_REV= 102038
+SVN_REV= 103179
diff --git a/devel/llvm-devel/distinfo b/devel/llvm-devel/distinfo
index 71ce9a223c36..12bd3c0e5ebb 100644
--- a/devel/llvm-devel/distinfo
+++ b/devel/llvm-devel/distinfo
@@ -1,3 +1,3 @@
-MD5 (llvm-2.7.r102038.tar.bz2) = d1689bc83ec7d0a2ac836cb51351d257
-SHA256 (llvm-2.7.r102038.tar.bz2) = 3f42998334bca65371b47718d7a7334d79530073cf621de3c99cb037508ce9d0
-SIZE (llvm-2.7.r102038.tar.bz2) = 10898923
+MD5 (llvm-2.8.r103179.tar.bz2) = 4e5124a80d23b969cec0a531ad759626
+SHA256 (llvm-2.8.r103179.tar.bz2) = c45e4292756e64c5e80e6c3c88d8944a57e2c8dbbb944d026f38a1659259f7a9
+SIZE (llvm-2.8.r103179.tar.bz2) = 10960466
diff --git a/devel/llvm-devel/files/patch-tools_clang_include_clang_Analysis_Analyses_PrintfFormatString.h b/devel/llvm-devel/files/patch-tools_clang_include_clang_Analysis_Analyses_PrintfFormatString.h
new file mode 100644
index 000000000000..65f72ac71095
--- /dev/null
+++ b/devel/llvm-devel/files/patch-tools_clang_include_clang_Analysis_Analyses_PrintfFormatString.h
@@ -0,0 +1,21 @@
+
+$FreeBSD$
+
+--- tools/clang/include/clang/Analysis/Analyses/PrintfFormatString.h.orig
++++ tools/clang/include/clang/Analysis/Analyses/PrintfFormatString.h
+@@ -57,6 +57,7 @@
+ InvalidSpecifier = 0,
+ // C99 conversion specifiers.
+ dArg, // 'd'
++ DArg, // 'D' FreeBSD specific specifiers
+ iArg, // 'i',
+ oArg, // 'o',
+ uArg, // 'u',
+@@ -82,6 +83,7 @@
+ ObjCObjArg, // '@'
+ // GlibC specific specifiers.
+ PrintErrno, // 'm'
++ bArg, // FreeBSD specific specifiers
+ // Specifier ranges.
+ IntArgBeg = dArg,
+ IntArgEnd = iArg,
diff --git a/devel/llvm-devel/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp b/devel/llvm-devel/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp
new file mode 100644
index 000000000000..50e951381e7d
--- /dev/null
+++ b/devel/llvm-devel/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp
@@ -0,0 +1,25 @@
+
+$FreeBSD$
+
+--- tools/clang/lib/Analysis/PrintfFormatString.cpp.orig
++++ tools/clang/lib/Analysis/PrintfFormatString.cpp
+@@ -369,11 +369,19 @@
+ case '@': k = ConversionSpecifier::ObjCObjArg; break;
+ // Glibc specific.
+ case 'm': k = ConversionSpecifier::PrintErrno; break;
++ // FreeBSD format extensions
++ case 'b': k = ConversionSpecifier::bArg; break; /* check for int and then char * */
++ case 'r': k = ConversionSpecifier::xArg; break;
++ case 'y': k = ConversionSpecifier::iArg; break;
++ case 'D': k = ConversionSpecifier::DArg; break; /* check for u_char * pointer and a char * string */
+ }
+ ConversionSpecifier CS(conversionPosition, k);
+ FS.setConversionSpecifier(CS);
+ if (CS.consumesDataArgument() && !FS.usesPositionalArg())
+ FS.setArgIndex(argIndex++);
++ // FreeBSD extension
++ if (k == ConversionSpecifier::bArg || k == ConversionSpecifier::DArg)
++ argIndex++;
+
+ if (k == ConversionSpecifier::InvalidSpecifier) {
+ // Assume the conversion takes one argument.
diff --git a/devel/llvm-devel/files/patch-tools_clang_lib_Sema_SemaChecking.cpp b/devel/llvm-devel/files/patch-tools_clang_lib_Sema_SemaChecking.cpp
new file mode 100644
index 000000000000..32917b92b8d0
--- /dev/null
+++ b/devel/llvm-devel/files/patch-tools_clang_lib_Sema_SemaChecking.cpp
@@ -0,0 +1,45 @@
+
+$FreeBSD$
+
+--- tools/clang/lib/Sema/SemaChecking.cpp.orig
++++ tools/clang/lib/Sema/SemaChecking.cpp
+@@ -1275,6 +1275,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::ArgTypeResult &ATR = S.Context.IntTy;
++ const analyze_printf::ArgTypeResult &ATR = type;
++ if (ATR.isValid() && !ATR.matchesType(S.Context, Ex->getType()))
++ S.Diag(getLocationOfByte(CS.getStart()),
++ diag::warn_printf_conversion_argument_type_mismatch)
++ << ATR.getRepresentativeType(S.Context) << Ex->getType()
++ << getFormatSpecifierRange(startSpecifier, specifierLen)
++ << Ex->getSourceRange();
++
++ // Now type check the data expression that matches the
++ // format specifier.
++ Ex = getDataArg(argIndex + 1);
++ const analyze_printf::ArgTypeResult &ATR2 = ArgTypeResult::CStrTy;
++ if (ATR2.isValid() && !ATR2.matchesType(S.Context, Ex->getType()))
++ S.Diag(getLocationOfByte(CS.getStart()),
++ diag::warn_printf_conversion_argument_type_mismatch)
++ << ATR2.getRepresentativeType(S.Context) << Ex->getType()
++ << getFormatSpecifierRange(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()) {
diff --git a/devel/llvm-devel/pkg-plist b/devel/llvm-devel/pkg-plist
index 7ec9704f638d..7df326d87e68 100644
--- a/devel/llvm-devel/pkg-plist
+++ b/devel/llvm-devel/pkg-plist
@@ -1,4 +1,5 @@
bin/bugpoint
+bin/c-index-test
bin/ccc-analyzer
bin/clang
bin/clang++
@@ -55,11 +56,12 @@ include/clang/AST/ParentMap.h
include/clang/AST/PrettyPrinter.h
include/clang/AST/RecordLayout.h
include/clang/AST/Redeclarable.h
+include/clang/AST/Release/StmtNodes.inc.tmp
include/clang/AST/Stmt.h
include/clang/AST/StmtCXX.h
include/clang/AST/StmtGraphTraits.h
include/clang/AST/StmtIterator.h
-include/clang/AST/StmtNodes.def
+include/clang/AST/StmtNodes.inc
include/clang/AST/StmtObjC.h
include/clang/AST/StmtVisitor.h
include/clang/AST/TemplateBase.h
@@ -73,8 +75,10 @@ include/clang/AST/TypeNodes.def
include/clang/AST/TypeOrdering.h
include/clang/AST/TypeVisitor.h
include/clang/AST/UnresolvedSet.h
+include/clang/AST/UsuallyTinyPtrVector.h
include/clang/Analysis/Analyses/LiveVariables.h
include/clang/Analysis/Analyses/PrintfFormatString.h
+include/clang/Analysis/Analyses/PrintfFormatString.h.orig
include/clang/Analysis/Analyses/ReachableCode.h
include/clang/Analysis/Analyses/UninitializedValues.h
include/clang/Analysis/AnalysisContext.h
@@ -680,6 +684,7 @@ include/llvm/Transforms/Utils/FunctionUtils.h
include/llvm/Transforms/Utils/Local.h
include/llvm/Transforms/Utils/PromoteMemToReg.h
include/llvm/Transforms/Utils/SSAUpdater.h
+include/llvm/Transforms/Utils/SSAUpdaterImpl.h
include/llvm/Transforms/Utils/SSI.h
include/llvm/Transforms/Utils/UnifyFunctionExitNodes.h
include/llvm/Transforms/Utils/UnrollLoop.h
@@ -689,17 +694,15 @@ include/llvm/Use.h
include/llvm/User.h
include/llvm/Value.h
include/llvm/ValueSymbolTable.h
-lib/clang/1.5/include/emmintrin.h
-lib/clang/1.5/include/mm_malloc.h
-lib/clang/1.5/include/mmintrin.h
-lib/clang/1.5/include/nmmintrin.h
-lib/clang/1.5/include/pmmintrin.h
-lib/clang/1.5/include/smmintrin.h
-lib/clang/1.5/include/tmmintrin.h
-lib/clang/1.5/include/wmmintrin.h
-lib/clang/1.5/include/xmmintrin.h
-lib/libCIndex.a
-lib/libCIndex.so
+lib/clang/2.0/include/emmintrin.h
+lib/clang/2.0/include/mm_malloc.h
+lib/clang/2.0/include/mmintrin.h
+lib/clang/2.0/include/nmmintrin.h
+lib/clang/2.0/include/pmmintrin.h
+lib/clang/2.0/include/smmintrin.h
+lib/clang/2.0/include/tmmintrin.h
+lib/clang/2.0/include/wmmintrin.h
+lib/clang/2.0/include/xmmintrin.h
lib/libCompilerDriver.a
lib/libEnhancedDisassembly.a
lib/libEnhancedDisassembly.so
@@ -781,6 +784,8 @@ lib/libLLVMpic16passes.a
lib/libLTO.a
lib/libLTO.so
lib/libUnitTestMain.a
+lib/libclang.a
+lib/libclang.so
lib/libclangAST.a
lib/libclangAnalysis.a
lib/libclangBasic.a
@@ -918,8 +923,8 @@ lib/libprofile_rt.so
%%DOCSDIR%%/ps/llvmgxx.ps
%%DOCSDIR%%/ps/opt.ps
%%DOCSDIR%%/ps/tblgen.ps
-@dirrm lib/clang/1.5/include
-@dirrm lib/clang/1.5
+@dirrm lib/clang/2.0/include
+@dirrm lib/clang/2.0
@dirrm lib/clang
@dirrm include/llvm/Transforms/Utils
@dirrm include/llvm/Transforms/IPO
@@ -961,6 +966,7 @@ lib/libprofile_rt.so
@dirrm include/clang/Analysis/FlowSensitive
@dirrm include/clang/Analysis/Analyses
@dirrm include/clang/Analysis
+@dirrm include/clang/AST/Release
@dirrm include/clang/AST
@dirrm include/clang-c
@dirrm include/clang