aboutsummaryrefslogtreecommitdiffstats
path: root/lang
diff options
context:
space:
mode:
authorbrooks <brooks@FreeBSD.org>2010-10-08 22:00:32 +0800
committerbrooks <brooks@FreeBSD.org>2010-10-08 22:00:32 +0800
commitffd7c0b6e70068b818faf551ef6b1c94a9ea498f (patch)
treed1578f4cb5beca69ef7d16cca1ddae60de141632 /lang
parente3517dc33042f3bf00c54b204da4271d689e5222 (diff)
downloadfreebsd-ports-gnome-ffd7c0b6e70068b818faf551ef6b1c94a9ea498f.tar.gz
freebsd-ports-gnome-ffd7c0b6e70068b818faf551ef6b1c94a9ea498f.tar.zst
freebsd-ports-gnome-ffd7c0b6e70068b818faf551ef6b1c94a9ea498f.zip
Upgrade LLVM, Clang, and llvm-gcc to 2.8 release.
The Clang port has now been updated to avoid building LLVM twice.
Diffstat (limited to 'lang')
-rw-r--r--lang/clang-devel/Makefile14
-rw-r--r--lang/clang-devel/distinfo12
-rw-r--r--lang/clang-devel/files/patch-Makefile.rules26
-rw-r--r--lang/clang-devel/files/patch-tools_clang_Makefile10
-rw-r--r--lang/clang-devel/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h16
-rw-r--r--lang/clang-devel/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp26
-rw-r--r--lang/clang-devel/files/patch-tools_clang_lib_Headers_Makefile2
-rw-r--r--lang/clang-devel/files/patch-tools_clang_lib_Sema_SemaChecking.cpp45
-rw-r--r--lang/clang-devel/files/patch-tools_clang_tools_scan-build_scan-build23
-rw-r--r--lang/clang-devel/pkg-plist126
-rw-r--r--lang/clang/Makefile14
-rw-r--r--lang/clang/distinfo12
-rw-r--r--lang/clang/files/patch-Makefile.rules26
-rw-r--r--lang/clang/files/patch-tools_clang_Makefile10
-rw-r--r--lang/clang/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h16
-rw-r--r--lang/clang/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp26
-rw-r--r--lang/clang/files/patch-tools_clang_lib_Headers_Makefile2
-rw-r--r--lang/clang/files/patch-tools_clang_lib_Sema_SemaChecking.cpp45
-rw-r--r--lang/clang/files/patch-tools_clang_tools_scan-build_scan-build23
-rw-r--r--lang/clang/pkg-plist126
-rw-r--r--lang/llvm-gcc4/Makefile2
-rw-r--r--lang/llvm-gcc4/distinfo6
22 files changed, 512 insertions, 96 deletions
diff --git a/lang/clang-devel/Makefile b/lang/clang-devel/Makefile
index eaca0b70c523..cbef6f9d0e8f 100644
--- a/lang/clang-devel/Makefile
+++ b/lang/clang-devel/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= clang
-PORTVERSION= 2.7
-PORTREVISION= 2
+PORTVERSION= 2.8
CATEGORIES= devel lang
MASTER_SITES= http://llvm.org/releases/${PORTVERSION}/
EXTRACT_SUFX= .tgz
@@ -26,6 +25,7 @@ LLVM_NAME= llvm-${PORTVERSION}
LLVM_SOURCE= ${LLVM_NAME}${EXTRACT_SUFX}
WRKSRC= ${WRKDIR}/${LLVM_NAME}
+BUILD_WRKSRC= ${WRKSRC}/tools/clang
INSTALL_WRKSRC= ${WRKSRC}/tools/clang
BUILD_DEPENDS+= llvm-as:${PORTSDIR}/devel/llvm
@@ -45,6 +45,10 @@ USE_PERL5= yes
USE_PYTHON= yes
MAKE_JOBS_SAFE= yes
+MAKE_ARGS= LLVMIncDir=${LOCALBASE}/include \
+ LLVMToolDir=${LOCALBASE}/bin \
+ LLVMLibDir=${LOCALBASE}/lib
+
.if defined(MAINTAINER_MODE)
CONFIGURE_ARGS+= --with-f2c=${LOCALBASE}
.else
@@ -84,6 +88,10 @@ post-patch:
${REINPLACE_CMD} -e 's|/usr/bin/env python|${PYTHON_CMD}|' \
${WRKSRC}/tools/clang/tools/scan-view/scan-view
+#@cd ${WRKSRC}/tools/clang && ${GMAKE} TBLGEN=/usr/local/bin/tblgen LLVM_OBJ_ROOT=/usr/local
+#do-build:
+# @cd ${WRKSRC}/tools/clang && ${GMAKE} LLVMIncDir=/usr/local/include LLVMToolDir=/usr/local/bin LLVMLibDir=/usr/local/lib
+
.if defined(NOPORTDOCS)
post-build:
@cd ${WRKSRC}/tools/clang/docs/tools && ${GMAKE} clang.1
@@ -122,11 +130,11 @@ regression-test: ${BUILD_COOKIE}
PLIST_FILE_LIST= bin/ccc-analyzer \
bin/c++-analyzer \
+ bin/c-index-test \
bin/clang \
bin/clang++ \
bin/scan-build \
bin/scan-view \
- lib/libCIndex.* \
lib/libclang*
PLIST_DIR_LIST= include/clang \
include/clang-c \
diff --git a/lang/clang-devel/distinfo b/lang/clang-devel/distinfo
index d48949c9279d..cc5227dab937 100644
--- a/lang/clang-devel/distinfo
+++ b/lang/clang-devel/distinfo
@@ -1,6 +1,6 @@
-MD5 (clang-2.7.tgz) = b83260aa8c13494adf8978b5f238bf1b
-SHA256 (clang-2.7.tgz) = fb349471947f155c1cda1c8a4a3bbc7fa437b86f6875d9978f86c915dfed623a
-SIZE (clang-2.7.tgz) = 4953739
-MD5 (llvm-2.7.tgz) = ac322661f20e7d6c810b1869f886ad9b
-SHA256 (llvm-2.7.tgz) = 99664bdc8503a306038166af33f28eb426d99e297575a59d74a1a0dcbddbbca5
-SIZE (llvm-2.7.tgz) = 8374297
+MD5 (clang-2.8.tgz) = 10e14c901fc3728eecbd5b829e011b59
+SHA256 (clang-2.8.tgz) = ed83481553e6a39a8a2953e89630d881d87833506f096a90f18d93ec2bdee0c1
+SIZE (clang-2.8.tgz) = 5666777
+MD5 (llvm-2.8.tgz) = 220d361b4d17051ff4bb21c64abe05ba
+SHA256 (llvm-2.8.tgz) = 25addb742f1c6cc12877ed0ee924dda962d848368ee095be8e48342ae613d43b
+SIZE (llvm-2.8.tgz) = 9112527
diff --git a/lang/clang-devel/files/patch-Makefile.rules b/lang/clang-devel/files/patch-Makefile.rules
new file mode 100644
index 000000000000..4c4c1bfcdd44
--- /dev/null
+++ b/lang/clang-devel/files/patch-Makefile.rules
@@ -0,0 +1,26 @@
+
+$FreeBSD$
+
+--- Makefile.rules.orig
++++ Makefile.rules
+@@ -406,6 +406,7 @@
+ LibDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/lib
+ ToolDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/bin
+ ExmplDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/examples
++LLVMIncDir := $(LLVM_OBJ_ROOT)/$(BuildMode)/include
+ LLVMLibDir := $(LLVM_OBJ_ROOT)/$(BuildMode)/lib
+ LLVMToolDir := $(LLVM_OBJ_ROOT)/$(BuildMode)/bin
+ LLVMExmplDir:= $(LLVM_OBJ_ROOT)/$(BuildMode)/examples
+@@ -628,10 +629,10 @@
+ LD.Flags += -L$(LibDir) -L$(LLVMLibDir)
+ CPP.BaseFlags += -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS
+ # All -I flags should go here, so that they don't confuse llvm-config.
+-CPP.Flags += $(sort -I$(PROJ_OBJ_DIR) -I$(PROJ_SRC_DIR) \
++CPP.Flags += $(sort -I$(PROJ_OBJ_DIR) -I$(PROJ_SRC_DIR) -I$(LLVMIncDir) \
+ $(patsubst %,-I%/include,\
+ $(PROJ_OBJ_ROOT) $(PROJ_SRC_ROOT) \
+- $(LLVM_OBJ_ROOT) $(LLVM_SRC_ROOT))) \
++ $(LLVM_SRC_ROOT))) \
+ $(CPP.BaseFlags)
+
+ ifeq ($(BUILD_COMPONENT), 1)
diff --git a/lang/clang-devel/files/patch-tools_clang_Makefile b/lang/clang-devel/files/patch-tools_clang_Makefile
index 09ca4da51a86..331b1a29c15e 100644
--- a/lang/clang-devel/files/patch-tools_clang_Makefile
+++ b/lang/clang-devel/files/patch-tools_clang_Makefile
@@ -3,10 +3,12 @@ $FreeBSD$
--- tools/clang/Makefile.orig
+++ tools/clang/Makefile
-@@ -1,5 +1,5 @@
- LEVEL = ../..
--DIRS := include lib tools docs
-+DIRS := include lib tools %%DOCSRCDIR%%
+@@ -14,7 +14,7 @@
+
+ IS_TOP_LEVEL := 1
+ CLANG_LEVEL := .
+-DIRS := include lib tools runtime docs
++DIRS := include lib tools runtime %%DOCSRCDIR%%
PARALLEL_DIRS :=
diff --git a/lang/clang-devel/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h b/lang/clang-devel/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h
new file mode 100644
index 000000000000..45a6b81cb300
--- /dev/null
+++ b/lang/clang-devel/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h
@@ -0,0 +1,16 @@
+
+$FreeBSD$
+
+--- tools/clang/include/clang/Analysis/Analyses/FormatString.h.orig
++++ tools/clang/include/clang/Analysis/Analyses/FormatString.h
+@@ -139,6 +139,10 @@
+ SArg,
+
+ // ** Printf-specific **
++
++ // FreeBSD specific specifiers
++ bArg,
++ DArg,
+
+ // Objective-C specific specifiers.
+ ObjCObjArg, // '@'
diff --git a/lang/clang-devel/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp b/lang/clang-devel/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp
new file mode 100644
index 000000000000..5bfe4b850724
--- /dev/null
+++ b/lang/clang-devel/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp
@@ -0,0 +1,26 @@
+
+$FreeBSD: /tmp/pcvs/ports/lang/clang-devel/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp,v 1.1 2010-10-08 14:00:31 brooks Exp $
+
+--- tools/clang/lib/Analysis/PrintfFormatString.cpp.orig
++++ tools/clang/lib/Analysis/PrintfFormatString.cpp
+@@ -192,11 +192,20 @@
+ 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 */
++
+ }
+ PrintfConversionSpecifier 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/lang/clang-devel/files/patch-tools_clang_lib_Headers_Makefile b/lang/clang-devel/files/patch-tools_clang_lib_Headers_Makefile
index a131848ac069..789ee4e09995 100644
--- a/lang/clang-devel/files/patch-tools_clang_lib_Headers_Makefile
+++ b/lang/clang-devel/files/patch-tools_clang_lib_Headers_Makefile
@@ -1,5 +1,5 @@
-$FreeBSD: /tmp/pcvs/ports/lang/clang-devel/files/patch-tools_clang_lib_Headers_Makefile,v 1.1 2010-02-16 18:27:16 brooks Exp $
+$FreeBSD: /tmp/pcvs/ports/lang/clang-devel/files/patch-tools_clang_lib_Headers_Makefile,v 1.2 2010-10-08 14:00:31 brooks Exp $
--- tools/clang/lib/Headers/Makefile.orig
+++ tools/clang/lib/Headers/Makefile
diff --git a/lang/clang-devel/files/patch-tools_clang_lib_Sema_SemaChecking.cpp b/lang/clang-devel/files/patch-tools_clang_lib_Sema_SemaChecking.cpp
new file mode 100644
index 000000000000..db618b150ef1
--- /dev/null
+++ b/lang/clang-devel/files/patch-tools_clang_lib_Sema_SemaChecking.cpp
@@ -0,0 +1,45 @@
+
+$FreeBSD: /tmp/pcvs/ports/lang/clang-devel/files/patch-tools_clang_lib_Sema_SemaChecking.cpp,v 1.1 2010-10-08 14:00:31 brooks Exp $
+
+--- 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::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()
++ << getSpecifierRange(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()
++ << 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()) {
diff --git a/lang/clang-devel/files/patch-tools_clang_tools_scan-build_scan-build b/lang/clang-devel/files/patch-tools_clang_tools_scan-build_scan-build
new file mode 100644
index 000000000000..f5bd884e8b2c
--- /dev/null
+++ b/lang/clang-devel/files/patch-tools_clang_tools_scan-build_scan-build
@@ -0,0 +1,23 @@
+
+$FreeBSD: /tmp/pcvs/ports/lang/clang-devel/files/patch-tools_clang_tools_scan-build_scan-build,v 1.1 2010-10-08 14:00:31 brooks Exp $
+
+--- tools/clang/tools/scan-build/scan-build.orig
++++ tools/clang/tools/scan-build/scan-build
+@@ -423,7 +423,7 @@
+
+ my $Dir = shift;
+
+- my $JS = Cwd::realpath("$RealBin/sorttable.js");
++ my $JS = Cwd::realpath("%%DATADIR%%/sorttable.js");
+
+ DieDiag("Cannot find 'sorttable.js'.\n")
+ if (! -r $JS);
+@@ -433,7 +433,7 @@
+ DieDiag("Could not copy 'sorttable.js' to '$Dir'.\n")
+ if (! -r "$Dir/sorttable.js");
+
+- my $CSS = Cwd::realpath("$RealBin/scanview.css");
++ my $CSS = Cwd::realpath("%%DATADIR%%/scanview.css");
+
+ DieDiag("Cannot find 'scanview.css'.\n")
+ if (! -r $CSS);
diff --git a/lang/clang-devel/pkg-plist b/lang/clang-devel/pkg-plist
index 4e912743a439..dfc49ae6dd9e 100644
--- a/lang/clang-devel/pkg-plist
+++ b/lang/clang-devel/pkg-plist
@@ -1,4 +1,5 @@
bin/c++-analyzer
+bin/c-index-test
bin/ccc-analyzer
bin/clang
bin/clang++
@@ -11,35 +12,47 @@ include/clang/AST/ASTConsumer.h
include/clang/AST/ASTContext.h
include/clang/AST/ASTDiagnostic.h
include/clang/AST/ASTImporter.h
+include/clang/AST/ASTVector.h
include/clang/AST/Attr.h
+include/clang/AST/AttrImpl.inc
+include/clang/AST/Attrs.inc
include/clang/AST/CXXInheritance.h
include/clang/AST/CanonicalType.h
include/clang/AST/CharUnits.h
include/clang/AST/Decl.h
+include/clang/AST/DeclAccessPair.h
include/clang/AST/DeclBase.h
include/clang/AST/DeclCXX.h
include/clang/AST/DeclContextInternals.h
+include/clang/AST/DeclFriend.h
include/clang/AST/DeclGroup.h
-include/clang/AST/DeclNodes.def
+include/clang/AST/DeclNodes.inc
include/clang/AST/DeclObjC.h
include/clang/AST/DeclTemplate.h
include/clang/AST/DeclVisitor.h
include/clang/AST/DeclarationName.h
+include/clang/AST/DependentDiagnostic.h
include/clang/AST/Expr.h
include/clang/AST/ExprCXX.h
include/clang/AST/ExprObjC.h
include/clang/AST/ExternalASTSource.h
include/clang/AST/FullExpr.h
include/clang/AST/NestedNameSpecifier.h
+include/clang/AST/OperationKinds.h
include/clang/AST/ParentMap.h
include/clang/AST/PrettyPrinter.h
include/clang/AST/RecordLayout.h
+include/clang/AST/RecursiveASTVisitor.h
include/clang/AST/Redeclarable.h
+include/clang/AST/Release/AttrImpl.inc.tmp
+include/clang/AST/Release/Attrs.inc.tmp
+include/clang/AST/Release/DeclNodes.inc.tmp
+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
@@ -53,23 +66,27 @@ 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/FormatString.h
include/clang/Analysis/Analyses/LiveVariables.h
-include/clang/Analysis/Analyses/PrintfFormatString.h
+include/clang/Analysis/Analyses/PseudoConstantAnalysis.h
include/clang/Analysis/Analyses/ReachableCode.h
include/clang/Analysis/Analyses/UninitializedValues.h
include/clang/Analysis/AnalysisContext.h
include/clang/Analysis/AnalysisDiagnostic.h
include/clang/Analysis/CFG.h
+include/clang/Analysis/CFGStmtMap.h
include/clang/Analysis/FlowSensitive/DataflowSolver.h
include/clang/Analysis/FlowSensitive/DataflowValues.h
include/clang/Analysis/ProgramPoint.h
include/clang/Analysis/Support/BlkExprDeclBitVector.h
include/clang/Analysis/Support/BumpVector.h
-include/clang/Analysis/Support/Optional.h
include/clang/Analysis/Support/SaveAndRestore.h
include/clang/Analysis/Visitors/CFGRecStmtDeclVisitor.h
include/clang/Analysis/Visitors/CFGRecStmtVisitor.h
include/clang/Analysis/Visitors/CFGStmtVisitor.h
+include/clang/Basic/AttrKinds.h
+include/clang/Basic/AttrList.inc
include/clang/Basic/Builtins.def
include/clang/Basic/Builtins.h
include/clang/Basic/BuiltinsARM.def
@@ -96,6 +113,7 @@ include/clang/Basic/OperatorKinds.def
include/clang/Basic/OperatorKinds.h
include/clang/Basic/PartialDiagnostic.h
include/clang/Basic/PrettyStackTrace.h
+include/clang/Basic/Release/AttrList.inc.tmp
include/clang/Basic/Release/DiagnosticASTKinds.inc.tmp
include/clang/Basic/Release/DiagnosticAnalysisKinds.inc.tmp
include/clang/Basic/Release/DiagnosticCommonKinds.inc.tmp
@@ -105,6 +123,8 @@ include/clang/Basic/Release/DiagnosticGroups.inc.tmp
include/clang/Basic/Release/DiagnosticLexKinds.inc.tmp
include/clang/Basic/Release/DiagnosticParseKinds.inc.tmp
include/clang/Basic/Release/DiagnosticSemaKinds.inc.tmp
+include/clang/Basic/Release/Version.inc.tmp
+include/clang/Basic/Release/arm_neon.inc.tmp
include/clang/Basic/SourceLocation.h
include/clang/Basic/SourceManager.h
include/clang/Basic/SourceManagerInternals.h
@@ -117,16 +137,22 @@ include/clang/Basic/TokenKinds.def
include/clang/Basic/TokenKinds.h
include/clang/Basic/TypeTraits.h
include/clang/Basic/Version.h
+include/clang/Basic/Version.inc
+include/clang/Basic/arm_neon.inc
+include/clang/Checker/AnalysisConsumer.h
include/clang/Checker/BugReporter/BugReporter.h
include/clang/Checker/BugReporter/BugType.h
include/clang/Checker/BugReporter/PathDiagnostic.h
include/clang/Checker/Checkers/DereferenceChecker.h
include/clang/Checker/Checkers/LocalCheckers.h
include/clang/Checker/DomainSpecific/CocoaConventions.h
+include/clang/Checker/FrontendActions.h
include/clang/Checker/ManagerRegistry.h
+include/clang/Checker/PathDiagnosticClients.h
include/clang/Checker/PathSensitive/AnalysisManager.h
include/clang/Checker/PathSensitive/BasicValueFactory.h
include/clang/Checker/PathSensitive/Checker.h
+include/clang/Checker/PathSensitive/CheckerHelpers.h
include/clang/Checker/PathSensitive/CheckerVisitor.def
include/clang/Checker/PathSensitive/CheckerVisitor.h
include/clang/Checker/PathSensitive/ConstraintManager.h
@@ -150,11 +176,14 @@ include/clang/Checker/PathSensitive/Store.h
include/clang/Checker/PathSensitive/SummaryManager.h
include/clang/Checker/PathSensitive/SymbolManager.h
include/clang/Checker/PathSensitive/ValueManager.h
-include/clang/CodeGen/CodeGenOptions.h
+include/clang/CodeGen/BackendUtil.h
+include/clang/CodeGen/CodeGenAction.h
include/clang/CodeGen/ModuleBuilder.h
include/clang/Driver/Action.h
include/clang/Driver/Arg.h
include/clang/Driver/ArgList.h
+include/clang/Driver/CC1AsOptions.h
+include/clang/Driver/CC1AsOptions.inc
include/clang/Driver/CC1Options.h
include/clang/Driver/CC1Options.inc
include/clang/Driver/Compilation.h
@@ -168,6 +197,7 @@ include/clang/Driver/Option.h
include/clang/Driver/Options.h
include/clang/Driver/Options.inc
include/clang/Driver/Phases.h
+include/clang/Driver/Release/CC1AsOptions.inc.tmp
include/clang/Driver/Release/CC1Options.inc.tmp
include/clang/Driver/Release/Options.inc.tmp
include/clang/Driver/Tool.h
@@ -178,9 +208,9 @@ include/clang/Driver/Util.h
include/clang/Frontend/ASTConsumers.h
include/clang/Frontend/ASTUnit.h
include/clang/Frontend/Analyses.def
-include/clang/Frontend/AnalysisConsumer.h
+include/clang/Frontend/AnalyzerOptions.h
include/clang/Frontend/ChainedDiagnosticClient.h
-include/clang/Frontend/CodeGenAction.h
+include/clang/Frontend/CodeGenOptions.h
include/clang/Frontend/CommandLineSourceLoc.h
include/clang/Frontend/CompilerInstance.h
include/clang/Frontend/CompilerInvocation.h
@@ -190,7 +220,6 @@ include/clang/Frontend/DependencyOutputOptions.h
include/clang/Frontend/DiagnosticOptions.h
include/clang/Frontend/DocumentXML.def
include/clang/Frontend/DocumentXML.h
-include/clang/Frontend/FixItRewriter.h
include/clang/Frontend/FrontendAction.h
include/clang/Frontend/FrontendActions.h
include/clang/Frontend/FrontendDiagnostic.h
@@ -199,10 +228,6 @@ include/clang/Frontend/FrontendPluginRegistry.h
include/clang/Frontend/HeaderSearchOptions.h
include/clang/Frontend/LangStandard.h
include/clang/Frontend/LangStandards.def
-include/clang/Frontend/PCHBitCodes.h
-include/clang/Frontend/PCHReader.h
-include/clang/Frontend/PCHWriter.h
-include/clang/Frontend/PathDiagnosticClients.h
include/clang/Frontend/PreprocessorOptions.h
include/clang/Frontend/PreprocessorOutputOptions.h
include/clang/Frontend/StmtXML.def
@@ -211,6 +236,7 @@ include/clang/Frontend/TextDiagnosticPrinter.h
include/clang/Frontend/TypeXML.def
include/clang/Frontend/Utils.h
include/clang/Frontend/VerifyDiagnosticsClient.h
+include/clang/FrontendTool/Utils.h
include/clang/Index/ASTLocation.h
include/clang/Index/Analyzer.h
include/clang/Index/CallGraph.h
@@ -224,7 +250,7 @@ include/clang/Index/Program.h
include/clang/Index/STLExtras.h
include/clang/Index/SelectorMap.h
include/clang/Index/TranslationUnit.h
-include/clang/Index/Utils.h
+include/clang/Lex/CodeCompletionHandler.h
include/clang/Lex/DirectoryLookup.h
include/clang/Lex/ExternalPreprocessorSource.h
include/clang/Lex/HeaderMap.h
@@ -238,40 +264,70 @@ include/clang/Lex/PPCallbacks.h
include/clang/Lex/PTHLexer.h
include/clang/Lex/PTHManager.h
include/clang/Lex/Pragma.h
+include/clang/Lex/PreprocessingRecord.h
include/clang/Lex/Preprocessor.h
include/clang/Lex/PreprocessorLexer.h
include/clang/Lex/ScratchBuffer.h
include/clang/Lex/Token.h
include/clang/Lex/TokenConcatenation.h
include/clang/Lex/TokenLexer.h
-include/clang/Parse/Action.h
-include/clang/Parse/AttributeList.h
-include/clang/Parse/DeclSpec.h
-include/clang/Parse/Designator.h
-include/clang/Parse/Ownership.h
+include/clang/Parse/ParseAST.h
include/clang/Parse/ParseDiagnostic.h
include/clang/Parse/Parser.h
-include/clang/Parse/Scope.h
-include/clang/Parse/Template.h
+include/clang/Rewrite/ASTConsumers.h
include/clang/Rewrite/DeltaTree.h
+include/clang/Rewrite/FixItRewriter.h
+include/clang/Rewrite/FrontendActions.h
include/clang/Rewrite/HTMLRewrite.h
include/clang/Rewrite/RewriteRope.h
include/clang/Rewrite/Rewriter.h
+include/clang/Rewrite/Rewriters.h
include/clang/Rewrite/TokenRewriter.h
+include/clang/Sema/AnalysisBasedWarnings.h
+include/clang/Sema/AttributeList.h
+include/clang/Sema/CXXFieldCollector.h
include/clang/Sema/CodeCompleteConsumer.h
+include/clang/Sema/DeclSpec.h
+include/clang/Sema/DelayedDiagnostic.h
+include/clang/Sema/Designator.h
include/clang/Sema/ExternalSemaSource.h
-include/clang/Sema/ParseAST.h
+include/clang/Sema/IdentifierResolver.h
+include/clang/Sema/Initialization.h
+include/clang/Sema/Lookup.h
+include/clang/Sema/ObjCMethodList.h
+include/clang/Sema/Overload.h
+include/clang/Sema/Ownership.h
+include/clang/Sema/ParsedTemplate.h
+include/clang/Sema/PrettyDeclStackTrace.h
+include/clang/Sema/Scope.h
+include/clang/Sema/ScopeInfo.h
+include/clang/Sema/Sema.h
include/clang/Sema/SemaConsumer.h
include/clang/Sema/SemaDiagnostic.h
-lib/clang/1.1/include/emmintrin.h
-lib/clang/1.1/include/mm_malloc.h
-lib/clang/1.1/include/mmintrin.h
-lib/clang/1.1/include/pmmintrin.h
-lib/clang/1.1/include/smmintrin.h
-lib/clang/1.1/include/tmmintrin.h
-lib/clang/1.1/include/xmmintrin.h
-lib/libCIndex.a
-lib/libCIndex.so
+include/clang/Sema/SemaInternal.h
+include/clang/Sema/Template.h
+include/clang/Sema/TemplateDeduction.h
+include/clang/Serialization/ASTBitCodes.h
+include/clang/Serialization/ASTDeserializationListener.h
+include/clang/Serialization/ASTReader.h
+include/clang/Serialization/ASTWriter.h
+include/clang/Serialization/AttrPCHRead.inc
+include/clang/Serialization/AttrPCHWrite.inc
+include/clang/Serialization/Release/AttrPCHRead.inc.tmp
+include/clang/Serialization/Release/AttrPCHWrite.inc.tmp
+lib/clang/2.8/include/arm_neon.h
+lib/clang/2.8/include/emmintrin.h
+lib/clang/2.8/include/immintrin.h
+lib/clang/2.8/include/mm_malloc.h
+lib/clang/2.8/include/mmintrin.h
+lib/clang/2.8/include/nmmintrin.h
+lib/clang/2.8/include/pmmintrin.h
+lib/clang/2.8/include/smmintrin.h
+lib/clang/2.8/include/tmmintrin.h
+lib/clang/2.8/include/wmmintrin.h
+lib/clang/2.8/include/xmmintrin.h
+lib/libclang.a
+lib/libclang.so
lib/libclangAST.a
lib/libclangAnalysis.a
lib/libclangBasic.a
@@ -279,11 +335,13 @@ lib/libclangChecker.a
lib/libclangCodeGen.a
lib/libclangDriver.a
lib/libclangFrontend.a
+lib/libclangFrontendTool.a
lib/libclangIndex.a
lib/libclangLex.a
lib/libclangParse.a
lib/libclangRewrite.a
lib/libclangSema.a
+lib/libclangSerialization.a
%%DATADIR%%/scanview.css
%%DATADIR%%/sorttable.js
%%PORTDOCS%%%%DOCSDIR%%/html.tar.gz
@@ -306,14 +364,17 @@ lib/libclangSema.a
%%PYTHON_SITELIBDIR%%/Resources/bugcatcher.ico
%%PYTHON_SITELIBDIR%%/ScanView.py
%%PYTHON_SITELIBDIR%%/startfile.py
-@dirrm lib/clang/1.1/include
-@dirrm lib/clang/1.1
+@dirrm lib/clang/2.8/include
+@dirrm lib/clang/2.8
@dirrm lib/clang
+@dirrm include/clang/Serialization/Release
+@dirrm include/clang/Serialization
@dirrm include/clang/Sema
@dirrm include/clang/Rewrite
@dirrm include/clang/Parse
@dirrm include/clang/Lex
@dirrm include/clang/Index
+@dirrm include/clang/FrontendTool
@dirrm include/clang/Frontend
@dirrm include/clang/Driver/Release
@dirrm include/clang/Driver
@@ -330,6 +391,7 @@ lib/libclangSema.a
@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
diff --git a/lang/clang/Makefile b/lang/clang/Makefile
index eaca0b70c523..cbef6f9d0e8f 100644
--- a/lang/clang/Makefile
+++ b/lang/clang/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= clang
-PORTVERSION= 2.7
-PORTREVISION= 2
+PORTVERSION= 2.8
CATEGORIES= devel lang
MASTER_SITES= http://llvm.org/releases/${PORTVERSION}/
EXTRACT_SUFX= .tgz
@@ -26,6 +25,7 @@ LLVM_NAME= llvm-${PORTVERSION}
LLVM_SOURCE= ${LLVM_NAME}${EXTRACT_SUFX}
WRKSRC= ${WRKDIR}/${LLVM_NAME}
+BUILD_WRKSRC= ${WRKSRC}/tools/clang
INSTALL_WRKSRC= ${WRKSRC}/tools/clang
BUILD_DEPENDS+= llvm-as:${PORTSDIR}/devel/llvm
@@ -45,6 +45,10 @@ USE_PERL5= yes
USE_PYTHON= yes
MAKE_JOBS_SAFE= yes
+MAKE_ARGS= LLVMIncDir=${LOCALBASE}/include \
+ LLVMToolDir=${LOCALBASE}/bin \
+ LLVMLibDir=${LOCALBASE}/lib
+
.if defined(MAINTAINER_MODE)
CONFIGURE_ARGS+= --with-f2c=${LOCALBASE}
.else
@@ -84,6 +88,10 @@ post-patch:
${REINPLACE_CMD} -e 's|/usr/bin/env python|${PYTHON_CMD}|' \
${WRKSRC}/tools/clang/tools/scan-view/scan-view
+#@cd ${WRKSRC}/tools/clang && ${GMAKE} TBLGEN=/usr/local/bin/tblgen LLVM_OBJ_ROOT=/usr/local
+#do-build:
+# @cd ${WRKSRC}/tools/clang && ${GMAKE} LLVMIncDir=/usr/local/include LLVMToolDir=/usr/local/bin LLVMLibDir=/usr/local/lib
+
.if defined(NOPORTDOCS)
post-build:
@cd ${WRKSRC}/tools/clang/docs/tools && ${GMAKE} clang.1
@@ -122,11 +130,11 @@ regression-test: ${BUILD_COOKIE}
PLIST_FILE_LIST= bin/ccc-analyzer \
bin/c++-analyzer \
+ bin/c-index-test \
bin/clang \
bin/clang++ \
bin/scan-build \
bin/scan-view \
- lib/libCIndex.* \
lib/libclang*
PLIST_DIR_LIST= include/clang \
include/clang-c \
diff --git a/lang/clang/distinfo b/lang/clang/distinfo
index d48949c9279d..cc5227dab937 100644
--- a/lang/clang/distinfo
+++ b/lang/clang/distinfo
@@ -1,6 +1,6 @@
-MD5 (clang-2.7.tgz) = b83260aa8c13494adf8978b5f238bf1b
-SHA256 (clang-2.7.tgz) = fb349471947f155c1cda1c8a4a3bbc7fa437b86f6875d9978f86c915dfed623a
-SIZE (clang-2.7.tgz) = 4953739
-MD5 (llvm-2.7.tgz) = ac322661f20e7d6c810b1869f886ad9b
-SHA256 (llvm-2.7.tgz) = 99664bdc8503a306038166af33f28eb426d99e297575a59d74a1a0dcbddbbca5
-SIZE (llvm-2.7.tgz) = 8374297
+MD5 (clang-2.8.tgz) = 10e14c901fc3728eecbd5b829e011b59
+SHA256 (clang-2.8.tgz) = ed83481553e6a39a8a2953e89630d881d87833506f096a90f18d93ec2bdee0c1
+SIZE (clang-2.8.tgz) = 5666777
+MD5 (llvm-2.8.tgz) = 220d361b4d17051ff4bb21c64abe05ba
+SHA256 (llvm-2.8.tgz) = 25addb742f1c6cc12877ed0ee924dda962d848368ee095be8e48342ae613d43b
+SIZE (llvm-2.8.tgz) = 9112527
diff --git a/lang/clang/files/patch-Makefile.rules b/lang/clang/files/patch-Makefile.rules
new file mode 100644
index 000000000000..4c4c1bfcdd44
--- /dev/null
+++ b/lang/clang/files/patch-Makefile.rules
@@ -0,0 +1,26 @@
+
+$FreeBSD$
+
+--- Makefile.rules.orig
++++ Makefile.rules
+@@ -406,6 +406,7 @@
+ LibDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/lib
+ ToolDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/bin
+ ExmplDir := $(PROJ_OBJ_ROOT)/$(BuildMode)/examples
++LLVMIncDir := $(LLVM_OBJ_ROOT)/$(BuildMode)/include
+ LLVMLibDir := $(LLVM_OBJ_ROOT)/$(BuildMode)/lib
+ LLVMToolDir := $(LLVM_OBJ_ROOT)/$(BuildMode)/bin
+ LLVMExmplDir:= $(LLVM_OBJ_ROOT)/$(BuildMode)/examples
+@@ -628,10 +629,10 @@
+ LD.Flags += -L$(LibDir) -L$(LLVMLibDir)
+ CPP.BaseFlags += -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS
+ # All -I flags should go here, so that they don't confuse llvm-config.
+-CPP.Flags += $(sort -I$(PROJ_OBJ_DIR) -I$(PROJ_SRC_DIR) \
++CPP.Flags += $(sort -I$(PROJ_OBJ_DIR) -I$(PROJ_SRC_DIR) -I$(LLVMIncDir) \
+ $(patsubst %,-I%/include,\
+ $(PROJ_OBJ_ROOT) $(PROJ_SRC_ROOT) \
+- $(LLVM_OBJ_ROOT) $(LLVM_SRC_ROOT))) \
++ $(LLVM_SRC_ROOT))) \
+ $(CPP.BaseFlags)
+
+ ifeq ($(BUILD_COMPONENT), 1)
diff --git a/lang/clang/files/patch-tools_clang_Makefile b/lang/clang/files/patch-tools_clang_Makefile
index 09ca4da51a86..331b1a29c15e 100644
--- a/lang/clang/files/patch-tools_clang_Makefile
+++ b/lang/clang/files/patch-tools_clang_Makefile
@@ -3,10 +3,12 @@ $FreeBSD$
--- tools/clang/Makefile.orig
+++ tools/clang/Makefile
-@@ -1,5 +1,5 @@
- LEVEL = ../..
--DIRS := include lib tools docs
-+DIRS := include lib tools %%DOCSRCDIR%%
+@@ -14,7 +14,7 @@
+
+ IS_TOP_LEVEL := 1
+ CLANG_LEVEL := .
+-DIRS := include lib tools runtime docs
++DIRS := include lib tools runtime %%DOCSRCDIR%%
PARALLEL_DIRS :=
diff --git a/lang/clang/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h b/lang/clang/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h
new file mode 100644
index 000000000000..42d66e555f18
--- /dev/null
+++ b/lang/clang/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h
@@ -0,0 +1,16 @@
+
+$FreeBSD: /tmp/pcvs/ports/lang/clang/files/patch-tools_clang_include_clang_Analysis_Analyses_FormatString.h,v 1.1 2010-10-08 14:00:31 brooks Exp $
+
+--- tools/clang/include/clang/Analysis/Analyses/FormatString.h.orig
++++ tools/clang/include/clang/Analysis/Analyses/FormatString.h
+@@ -139,6 +139,10 @@
+ SArg,
+
+ // ** Printf-specific **
++
++ // FreeBSD specific specifiers
++ bArg,
++ DArg,
+
+ // Objective-C specific specifiers.
+ ObjCObjArg, // '@'
diff --git a/lang/clang/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp b/lang/clang/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp
new file mode 100644
index 000000000000..5951f83f8f58
--- /dev/null
+++ b/lang/clang/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp
@@ -0,0 +1,26 @@
+
+$FreeBSD: /tmp/pcvs/ports/lang/clang/files/patch-tools_clang_lib_Analysis_PrintfFormatString.cpp,v 1.1 2010-10-08 14:00:31 brooks Exp $
+
+--- tools/clang/lib/Analysis/PrintfFormatString.cpp.orig
++++ tools/clang/lib/Analysis/PrintfFormatString.cpp
+@@ -192,11 +192,20 @@
+ 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 */
++
+ }
+ PrintfConversionSpecifier 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/lang/clang/files/patch-tools_clang_lib_Headers_Makefile b/lang/clang/files/patch-tools_clang_lib_Headers_Makefile
index 09bfad734365..2171d627bd10 100644
--- a/lang/clang/files/patch-tools_clang_lib_Headers_Makefile
+++ b/lang/clang/files/patch-tools_clang_lib_Headers_Makefile
@@ -1,5 +1,5 @@
-$FreeBSD: /tmp/pcvs/ports/lang/clang/files/patch-tools_clang_lib_Headers_Makefile,v 1.1 2010-02-16 18:27:16 brooks Exp $
+$FreeBSD: /tmp/pcvs/ports/lang/clang/files/patch-tools_clang_lib_Headers_Makefile,v 1.2 2010-10-08 14:00:31 brooks Exp $
--- tools/clang/lib/Headers/Makefile.orig
+++ tools/clang/lib/Headers/Makefile
diff --git a/lang/clang/files/patch-tools_clang_lib_Sema_SemaChecking.cpp b/lang/clang/files/patch-tools_clang_lib_Sema_SemaChecking.cpp
new file mode 100644
index 000000000000..c27119f111e7
--- /dev/null
+++ b/lang/clang/files/patch-tools_clang_lib_Sema_SemaChecking.cpp
@@ -0,0 +1,45 @@
+
+$FreeBSD: /tmp/pcvs/ports/lang/clang/files/patch-tools_clang_lib_Sema_SemaChecking.cpp,v 1.1 2010-10-08 14:00:31 brooks Exp $
+
+--- 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::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()
++ << getSpecifierRange(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()
++ << 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()) {
diff --git a/lang/clang/files/patch-tools_clang_tools_scan-build_scan-build b/lang/clang/files/patch-tools_clang_tools_scan-build_scan-build
new file mode 100644
index 000000000000..ac6e7bd25efb
--- /dev/null
+++ b/lang/clang/files/patch-tools_clang_tools_scan-build_scan-build
@@ -0,0 +1,23 @@
+
+$FreeBSD: /tmp/pcvs/ports/lang/clang/files/patch-tools_clang_tools_scan-build_scan-build,v 1.1 2010-10-08 14:00:31 brooks Exp $
+
+--- tools/clang/tools/scan-build/scan-build.orig
++++ tools/clang/tools/scan-build/scan-build
+@@ -423,7 +423,7 @@
+
+ my $Dir = shift;
+
+- my $JS = Cwd::realpath("$RealBin/sorttable.js");
++ my $JS = Cwd::realpath("%%DATADIR%%/sorttable.js");
+
+ DieDiag("Cannot find 'sorttable.js'.\n")
+ if (! -r $JS);
+@@ -433,7 +433,7 @@
+ DieDiag("Could not copy 'sorttable.js' to '$Dir'.\n")
+ if (! -r "$Dir/sorttable.js");
+
+- my $CSS = Cwd::realpath("$RealBin/scanview.css");
++ my $CSS = Cwd::realpath("%%DATADIR%%/scanview.css");
+
+ DieDiag("Cannot find 'scanview.css'.\n")
+ if (! -r $CSS);
diff --git a/lang/clang/pkg-plist b/lang/clang/pkg-plist
index 4e912743a439..dfc49ae6dd9e 100644
--- a/lang/clang/pkg-plist
+++ b/lang/clang/pkg-plist
@@ -1,4 +1,5 @@
bin/c++-analyzer
+bin/c-index-test
bin/ccc-analyzer
bin/clang
bin/clang++
@@ -11,35 +12,47 @@ include/clang/AST/ASTConsumer.h
include/clang/AST/ASTContext.h
include/clang/AST/ASTDiagnostic.h
include/clang/AST/ASTImporter.h
+include/clang/AST/ASTVector.h
include/clang/AST/Attr.h
+include/clang/AST/AttrImpl.inc
+include/clang/AST/Attrs.inc
include/clang/AST/CXXInheritance.h
include/clang/AST/CanonicalType.h
include/clang/AST/CharUnits.h
include/clang/AST/Decl.h
+include/clang/AST/DeclAccessPair.h
include/clang/AST/DeclBase.h
include/clang/AST/DeclCXX.h
include/clang/AST/DeclContextInternals.h
+include/clang/AST/DeclFriend.h
include/clang/AST/DeclGroup.h
-include/clang/AST/DeclNodes.def
+include/clang/AST/DeclNodes.inc
include/clang/AST/DeclObjC.h
include/clang/AST/DeclTemplate.h
include/clang/AST/DeclVisitor.h
include/clang/AST/DeclarationName.h
+include/clang/AST/DependentDiagnostic.h
include/clang/AST/Expr.h
include/clang/AST/ExprCXX.h
include/clang/AST/ExprObjC.h
include/clang/AST/ExternalASTSource.h
include/clang/AST/FullExpr.h
include/clang/AST/NestedNameSpecifier.h
+include/clang/AST/OperationKinds.h
include/clang/AST/ParentMap.h
include/clang/AST/PrettyPrinter.h
include/clang/AST/RecordLayout.h
+include/clang/AST/RecursiveASTVisitor.h
include/clang/AST/Redeclarable.h
+include/clang/AST/Release/AttrImpl.inc.tmp
+include/clang/AST/Release/Attrs.inc.tmp
+include/clang/AST/Release/DeclNodes.inc.tmp
+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
@@ -53,23 +66,27 @@ 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/FormatString.h
include/clang/Analysis/Analyses/LiveVariables.h
-include/clang/Analysis/Analyses/PrintfFormatString.h
+include/clang/Analysis/Analyses/PseudoConstantAnalysis.h
include/clang/Analysis/Analyses/ReachableCode.h
include/clang/Analysis/Analyses/UninitializedValues.h
include/clang/Analysis/AnalysisContext.h
include/clang/Analysis/AnalysisDiagnostic.h
include/clang/Analysis/CFG.h
+include/clang/Analysis/CFGStmtMap.h
include/clang/Analysis/FlowSensitive/DataflowSolver.h
include/clang/Analysis/FlowSensitive/DataflowValues.h
include/clang/Analysis/ProgramPoint.h
include/clang/Analysis/Support/BlkExprDeclBitVector.h
include/clang/Analysis/Support/BumpVector.h
-include/clang/Analysis/Support/Optional.h
include/clang/Analysis/Support/SaveAndRestore.h
include/clang/Analysis/Visitors/CFGRecStmtDeclVisitor.h
include/clang/Analysis/Visitors/CFGRecStmtVisitor.h
include/clang/Analysis/Visitors/CFGStmtVisitor.h
+include/clang/Basic/AttrKinds.h
+include/clang/Basic/AttrList.inc
include/clang/Basic/Builtins.def
include/clang/Basic/Builtins.h
include/clang/Basic/BuiltinsARM.def
@@ -96,6 +113,7 @@ include/clang/Basic/OperatorKinds.def
include/clang/Basic/OperatorKinds.h
include/clang/Basic/PartialDiagnostic.h
include/clang/Basic/PrettyStackTrace.h
+include/clang/Basic/Release/AttrList.inc.tmp
include/clang/Basic/Release/DiagnosticASTKinds.inc.tmp
include/clang/Basic/Release/DiagnosticAnalysisKinds.inc.tmp
include/clang/Basic/Release/DiagnosticCommonKinds.inc.tmp
@@ -105,6 +123,8 @@ include/clang/Basic/Release/DiagnosticGroups.inc.tmp
include/clang/Basic/Release/DiagnosticLexKinds.inc.tmp
include/clang/Basic/Release/DiagnosticParseKinds.inc.tmp
include/clang/Basic/Release/DiagnosticSemaKinds.inc.tmp
+include/clang/Basic/Release/Version.inc.tmp
+include/clang/Basic/Release/arm_neon.inc.tmp
include/clang/Basic/SourceLocation.h
include/clang/Basic/SourceManager.h
include/clang/Basic/SourceManagerInternals.h
@@ -117,16 +137,22 @@ include/clang/Basic/TokenKinds.def
include/clang/Basic/TokenKinds.h
include/clang/Basic/TypeTraits.h
include/clang/Basic/Version.h
+include/clang/Basic/Version.inc
+include/clang/Basic/arm_neon.inc
+include/clang/Checker/AnalysisConsumer.h
include/clang/Checker/BugReporter/BugReporter.h
include/clang/Checker/BugReporter/BugType.h
include/clang/Checker/BugReporter/PathDiagnostic.h
include/clang/Checker/Checkers/DereferenceChecker.h
include/clang/Checker/Checkers/LocalCheckers.h
include/clang/Checker/DomainSpecific/CocoaConventions.h
+include/clang/Checker/FrontendActions.h
include/clang/Checker/ManagerRegistry.h
+include/clang/Checker/PathDiagnosticClients.h
include/clang/Checker/PathSensitive/AnalysisManager.h
include/clang/Checker/PathSensitive/BasicValueFactory.h
include/clang/Checker/PathSensitive/Checker.h
+include/clang/Checker/PathSensitive/CheckerHelpers.h
include/clang/Checker/PathSensitive/CheckerVisitor.def
include/clang/Checker/PathSensitive/CheckerVisitor.h
include/clang/Checker/PathSensitive/ConstraintManager.h
@@ -150,11 +176,14 @@ include/clang/Checker/PathSensitive/Store.h
include/clang/Checker/PathSensitive/SummaryManager.h
include/clang/Checker/PathSensitive/SymbolManager.h
include/clang/Checker/PathSensitive/ValueManager.h
-include/clang/CodeGen/CodeGenOptions.h
+include/clang/CodeGen/BackendUtil.h
+include/clang/CodeGen/CodeGenAction.h
include/clang/CodeGen/ModuleBuilder.h
include/clang/Driver/Action.h
include/clang/Driver/Arg.h
include/clang/Driver/ArgList.h
+include/clang/Driver/CC1AsOptions.h
+include/clang/Driver/CC1AsOptions.inc
include/clang/Driver/CC1Options.h
include/clang/Driver/CC1Options.inc
include/clang/Driver/Compilation.h
@@ -168,6 +197,7 @@ include/clang/Driver/Option.h
include/clang/Driver/Options.h
include/clang/Driver/Options.inc
include/clang/Driver/Phases.h
+include/clang/Driver/Release/CC1AsOptions.inc.tmp
include/clang/Driver/Release/CC1Options.inc.tmp
include/clang/Driver/Release/Options.inc.tmp
include/clang/Driver/Tool.h
@@ -178,9 +208,9 @@ include/clang/Driver/Util.h
include/clang/Frontend/ASTConsumers.h
include/clang/Frontend/ASTUnit.h
include/clang/Frontend/Analyses.def
-include/clang/Frontend/AnalysisConsumer.h
+include/clang/Frontend/AnalyzerOptions.h
include/clang/Frontend/ChainedDiagnosticClient.h
-include/clang/Frontend/CodeGenAction.h
+include/clang/Frontend/CodeGenOptions.h
include/clang/Frontend/CommandLineSourceLoc.h
include/clang/Frontend/CompilerInstance.h
include/clang/Frontend/CompilerInvocation.h
@@ -190,7 +220,6 @@ include/clang/Frontend/DependencyOutputOptions.h
include/clang/Frontend/DiagnosticOptions.h
include/clang/Frontend/DocumentXML.def
include/clang/Frontend/DocumentXML.h
-include/clang/Frontend/FixItRewriter.h
include/clang/Frontend/FrontendAction.h
include/clang/Frontend/FrontendActions.h
include/clang/Frontend/FrontendDiagnostic.h
@@ -199,10 +228,6 @@ include/clang/Frontend/FrontendPluginRegistry.h
include/clang/Frontend/HeaderSearchOptions.h
include/clang/Frontend/LangStandard.h
include/clang/Frontend/LangStandards.def
-include/clang/Frontend/PCHBitCodes.h
-include/clang/Frontend/PCHReader.h
-include/clang/Frontend/PCHWriter.h
-include/clang/Frontend/PathDiagnosticClients.h
include/clang/Frontend/PreprocessorOptions.h
include/clang/Frontend/PreprocessorOutputOptions.h
include/clang/Frontend/StmtXML.def
@@ -211,6 +236,7 @@ include/clang/Frontend/TextDiagnosticPrinter.h
include/clang/Frontend/TypeXML.def
include/clang/Frontend/Utils.h
include/clang/Frontend/VerifyDiagnosticsClient.h
+include/clang/FrontendTool/Utils.h
include/clang/Index/ASTLocation.h
include/clang/Index/Analyzer.h
include/clang/Index/CallGraph.h
@@ -224,7 +250,7 @@ include/clang/Index/Program.h
include/clang/Index/STLExtras.h
include/clang/Index/SelectorMap.h
include/clang/Index/TranslationUnit.h
-include/clang/Index/Utils.h
+include/clang/Lex/CodeCompletionHandler.h
include/clang/Lex/DirectoryLookup.h
include/clang/Lex/ExternalPreprocessorSource.h
include/clang/Lex/HeaderMap.h
@@ -238,40 +264,70 @@ include/clang/Lex/PPCallbacks.h
include/clang/Lex/PTHLexer.h
include/clang/Lex/PTHManager.h
include/clang/Lex/Pragma.h
+include/clang/Lex/PreprocessingRecord.h
include/clang/Lex/Preprocessor.h
include/clang/Lex/PreprocessorLexer.h
include/clang/Lex/ScratchBuffer.h
include/clang/Lex/Token.h
include/clang/Lex/TokenConcatenation.h
include/clang/Lex/TokenLexer.h
-include/clang/Parse/Action.h
-include/clang/Parse/AttributeList.h
-include/clang/Parse/DeclSpec.h
-include/clang/Parse/Designator.h
-include/clang/Parse/Ownership.h
+include/clang/Parse/ParseAST.h
include/clang/Parse/ParseDiagnostic.h
include/clang/Parse/Parser.h
-include/clang/Parse/Scope.h
-include/clang/Parse/Template.h
+include/clang/Rewrite/ASTConsumers.h
include/clang/Rewrite/DeltaTree.h
+include/clang/Rewrite/FixItRewriter.h
+include/clang/Rewrite/FrontendActions.h
include/clang/Rewrite/HTMLRewrite.h
include/clang/Rewrite/RewriteRope.h
include/clang/Rewrite/Rewriter.h
+include/clang/Rewrite/Rewriters.h
include/clang/Rewrite/TokenRewriter.h
+include/clang/Sema/AnalysisBasedWarnings.h
+include/clang/Sema/AttributeList.h
+include/clang/Sema/CXXFieldCollector.h
include/clang/Sema/CodeCompleteConsumer.h
+include/clang/Sema/DeclSpec.h
+include/clang/Sema/DelayedDiagnostic.h
+include/clang/Sema/Designator.h
include/clang/Sema/ExternalSemaSource.h
-include/clang/Sema/ParseAST.h
+include/clang/Sema/IdentifierResolver.h
+include/clang/Sema/Initialization.h
+include/clang/Sema/Lookup.h
+include/clang/Sema/ObjCMethodList.h
+include/clang/Sema/Overload.h
+include/clang/Sema/Ownership.h
+include/clang/Sema/ParsedTemplate.h
+include/clang/Sema/PrettyDeclStackTrace.h
+include/clang/Sema/Scope.h
+include/clang/Sema/ScopeInfo.h
+include/clang/Sema/Sema.h
include/clang/Sema/SemaConsumer.h
include/clang/Sema/SemaDiagnostic.h
-lib/clang/1.1/include/emmintrin.h
-lib/clang/1.1/include/mm_malloc.h
-lib/clang/1.1/include/mmintrin.h
-lib/clang/1.1/include/pmmintrin.h
-lib/clang/1.1/include/smmintrin.h
-lib/clang/1.1/include/tmmintrin.h
-lib/clang/1.1/include/xmmintrin.h
-lib/libCIndex.a
-lib/libCIndex.so
+include/clang/Sema/SemaInternal.h
+include/clang/Sema/Template.h
+include/clang/Sema/TemplateDeduction.h
+include/clang/Serialization/ASTBitCodes.h
+include/clang/Serialization/ASTDeserializationListener.h
+include/clang/Serialization/ASTReader.h
+include/clang/Serialization/ASTWriter.h
+include/clang/Serialization/AttrPCHRead.inc
+include/clang/Serialization/AttrPCHWrite.inc
+include/clang/Serialization/Release/AttrPCHRead.inc.tmp
+include/clang/Serialization/Release/AttrPCHWrite.inc.tmp
+lib/clang/2.8/include/arm_neon.h
+lib/clang/2.8/include/emmintrin.h
+lib/clang/2.8/include/immintrin.h
+lib/clang/2.8/include/mm_malloc.h
+lib/clang/2.8/include/mmintrin.h
+lib/clang/2.8/include/nmmintrin.h
+lib/clang/2.8/include/pmmintrin.h
+lib/clang/2.8/include/smmintrin.h
+lib/clang/2.8/include/tmmintrin.h
+lib/clang/2.8/include/wmmintrin.h
+lib/clang/2.8/include/xmmintrin.h
+lib/libclang.a
+lib/libclang.so
lib/libclangAST.a
lib/libclangAnalysis.a
lib/libclangBasic.a
@@ -279,11 +335,13 @@ lib/libclangChecker.a
lib/libclangCodeGen.a
lib/libclangDriver.a
lib/libclangFrontend.a
+lib/libclangFrontendTool.a
lib/libclangIndex.a
lib/libclangLex.a
lib/libclangParse.a
lib/libclangRewrite.a
lib/libclangSema.a
+lib/libclangSerialization.a
%%DATADIR%%/scanview.css
%%DATADIR%%/sorttable.js
%%PORTDOCS%%%%DOCSDIR%%/html.tar.gz
@@ -306,14 +364,17 @@ lib/libclangSema.a
%%PYTHON_SITELIBDIR%%/Resources/bugcatcher.ico
%%PYTHON_SITELIBDIR%%/ScanView.py
%%PYTHON_SITELIBDIR%%/startfile.py
-@dirrm lib/clang/1.1/include
-@dirrm lib/clang/1.1
+@dirrm lib/clang/2.8/include
+@dirrm lib/clang/2.8
@dirrm lib/clang
+@dirrm include/clang/Serialization/Release
+@dirrm include/clang/Serialization
@dirrm include/clang/Sema
@dirrm include/clang/Rewrite
@dirrm include/clang/Parse
@dirrm include/clang/Lex
@dirrm include/clang/Index
+@dirrm include/clang/FrontendTool
@dirrm include/clang/Frontend
@dirrm include/clang/Driver/Release
@dirrm include/clang/Driver
@@ -330,6 +391,7 @@ lib/libclangSema.a
@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
diff --git a/lang/llvm-gcc4/Makefile b/lang/llvm-gcc4/Makefile
index 758fc4d77119..bf0ff00e3f09 100644
--- a/lang/llvm-gcc4/Makefile
+++ b/lang/llvm-gcc4/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= gcc4
-PORTVERSION= 2.7
+PORTVERSION= 2.8
CATEGORIES= lang devel
MASTER_SITES= http://llvm.org/releases/${PORTVERSION}/
PKGNAMEPREFIX= llvm-
diff --git a/lang/llvm-gcc4/distinfo b/lang/llvm-gcc4/distinfo
index 3d56507be55b..5e4c0ca0c1f5 100644
--- a/lang/llvm-gcc4/distinfo
+++ b/lang/llvm-gcc4/distinfo
@@ -1,3 +1,3 @@
-MD5 (llvm-gcc-4.2-2.7.source.tgz) = c5033005ceac1988b7cdc908445090f0
-SHA256 (llvm-gcc-4.2-2.7.source.tgz) = 1ccbcef5fe6613392e24f21fd23a9ed2692827c13f8d85c26b3bdcd1b3b5047a
-SIZE (llvm-gcc-4.2-2.7.source.tgz) = 55699337
+MD5 (llvm-gcc-4.2-2.8.source.tgz) = e5b0569f5f018086c62201d87e161154
+SHA256 (llvm-gcc-4.2-2.8.source.tgz) = 04785a0031c1aa1e3a89926ac6a069c96276074ea711958306b8bf96d9d49e4d
+SIZE (llvm-gcc-4.2-2.8.source.tgz) = 55748118