svn commit: r303040 - in head: devel/llvm-devel devel/llvm-devel/files lang/clang-devel lang/clang-devel/files
Brooks Davis
brooks at FreeBSD.org
Thu Aug 23 21:04:17 UTC 2012
Author: brooks
Date: Thu Aug 23 21:04:16 2012
New Revision: 303040
URL: http://svn.freebsd.org/changeset/ports/303040
Log:
Update LLVM and Clang to r162438 plus a couple patchs to make it possible
to target MIPS with FreeBSD's base binutils.
Added:
head/devel/llvm-devel/files/patch-lib_Target_Mips_MipsTargetMachine.cpp (contents, props changed)
head/lang/clang-devel/files/mips-long-double-hack.diff (contents, props changed)
head/lang/clang-devel/files/patch-tools_clang_lib_Driver_Tools.cpp (contents, props changed)
Modified:
head/devel/llvm-devel/Makefile.svn_rev
head/devel/llvm-devel/distinfo
head/devel/llvm-devel/pkg-plist
head/lang/clang-devel/Makefile
head/lang/clang-devel/distinfo
head/lang/clang-devel/files/patch-tools_clang_lib_Sema_SemaChecking.cpp
head/lang/clang-devel/pkg-plist
Modified: head/devel/llvm-devel/Makefile.svn_rev
==============================================================================
--- head/devel/llvm-devel/Makefile.svn_rev Thu Aug 23 21:02:09 2012 (r303039)
+++ head/devel/llvm-devel/Makefile.svn_rev Thu Aug 23 21:04:16 2012 (r303040)
@@ -1 +1 @@
-SVN_REV= 160283
+SVN_REV= 162438
Modified: head/devel/llvm-devel/distinfo
==============================================================================
--- head/devel/llvm-devel/distinfo Thu Aug 23 21:02:09 2012 (r303039)
+++ head/devel/llvm-devel/distinfo Thu Aug 23 21:04:16 2012 (r303040)
@@ -1,2 +1,2 @@
-SHA256 (llvm-3.2.r160283.tar.bz2) = 3dfae804e7765bfacfb4347ada59e174fa9f4a272ee86b17ae6882e5f3e56ca7
-SIZE (llvm-3.2.r160283.tar.bz2) = 8961712
+SHA256 (llvm-3.2.r162438.tar.bz2) = 6e5bd1121b6af1e89ace5f799febeec8278fa2e24fce6f69f5d840a42ac75617
+SIZE (llvm-3.2.r162438.tar.bz2) = 8851337
Added: head/devel/llvm-devel/files/patch-lib_Target_Mips_MipsTargetMachine.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/llvm-devel/files/patch-lib_Target_Mips_MipsTargetMachine.cpp Thu Aug 23 21:04:16 2012 (r303040)
@@ -0,0 +1,17 @@
+
+$FreeBSD$
+
+--- lib/Target/Mips/MipsTargetMachine.cpp.orig
++++ lib/Target/Mips/MipsTargetMachine.cpp
+@@ -54,6 +54,11 @@
+ FrameLowering(MipsFrameLowering::create(*this, Subtarget)),
+ TLInfo(*this), TSInfo(*this), JITInfo(),
+ ELFWriterInfo(false, isLittle) {
++
++ // The system as doesn't understand CFI on FreeBSD
++#if defined(__FreeBSD__)
++ setMCUseCFI(false);
++#endif
+ }
+
+ void MipsebTargetMachine::anchor() { }
Modified: head/devel/llvm-devel/pkg-plist
==============================================================================
--- head/devel/llvm-devel/pkg-plist Thu Aug 23 21:02:09 2012 (r303039)
+++ head/devel/llvm-devel/pkg-plist Thu Aug 23 21:04:16 2012 (r303040)
@@ -295,7 +295,6 @@ include/llvm/IntrinsicsHexagon.td
include/llvm/IntrinsicsMips.td
include/llvm/IntrinsicsNVVM.td
include/llvm/IntrinsicsPowerPC.td
-include/llvm/IntrinsicsR600.td
include/llvm/IntrinsicsX86.td
include/llvm/IntrinsicsXCore.td
include/llvm/LLVMContext.h
@@ -319,6 +318,7 @@ include/llvm/MC/MCDwarf.h
include/llvm/MC/MCELFObjectWriter.h
include/llvm/MC/MCELFSymbolFlags.h
include/llvm/MC/MCExpr.h
+include/llvm/MC/MCFixedLenDisassembler.h
include/llvm/MC/MCFixup.h
include/llvm/MC/MCFixupKindInfo.h
include/llvm/MC/MCInst.h
@@ -409,6 +409,7 @@ include/llvm/Support/Endian.h
include/llvm/Support/Errno.h
include/llvm/Support/ErrorHandling.h
include/llvm/Support/FEnv.h
+include/llvm/Support/FileOutputBuffer.h
include/llvm/Support/FileSystem.h
include/llvm/Support/FileUtilities.h
include/llvm/Support/Format.h
@@ -423,6 +424,7 @@ include/llvm/Support/InstIterator.h
include/llvm/Support/InstVisitor.h
include/llvm/Support/IntegersSubset.h
include/llvm/Support/IntegersSubsetMapping.h
+include/llvm/Support/LEB128.h
include/llvm/Support/LICENSE.TXT
include/llvm/Support/LeakDetector.h
include/llvm/Support/Locale.h
@@ -532,6 +534,7 @@ include/llvm/Transforms/Utils/ValueMappe
include/llvm/Transforms/Vectorize.h
include/llvm/Type.h
include/llvm/TypeBuilder.h
+include/llvm/TypeFinder.h
include/llvm/Use.h
include/llvm/User.h
include/llvm/Value.h
@@ -540,9 +543,6 @@ lib/BugpointPasses.so
lib/LLVMHello.so
lib/libLLVM-%%LLVM_RELEASE%%svn.so
lib/libLLVM-%%LLVM_RELEASE%%svn.so.0
-lib/libLLVMAMDGPUCodeGen.a
-lib/libLLVMAMDGPUDesc.a
-lib/libLLVMAMDGPUInfo.a
lib/libLLVMARMAsmParser.a
lib/libLLVMARMAsmPrinter.a
lib/libLLVMARMCodeGen.a
@@ -629,6 +629,7 @@ lib/libLTO.a
lib/libLTO.so
lib/libprofile_rt.a
lib/libprofile_rt.so
+%%PORTDOCS%%%%DOCSDIR%%/html.tar.gz
%%PORTDOCS%%%%DOCSDIR%%/html/.buildinfo
%%PORTDOCS%%%%DOCSDIR%%/html/AliasAnalysis.html
%%PORTDOCS%%%%DOCSDIR%%/html/AliasAnalysis.txt
@@ -643,9 +644,11 @@ lib/libprofile_rt.so
%%PORTDOCS%%%%DOCSDIR%%/html/CMake.html
%%PORTDOCS%%%%DOCSDIR%%/html/CMake.txt
%%PORTDOCS%%%%DOCSDIR%%/html/CodeGenerator.html
+%%PORTDOCS%%%%DOCSDIR%%/html/CodeGenerator.txt
%%PORTDOCS%%%%DOCSDIR%%/html/CodingStandards.html
%%PORTDOCS%%%%DOCSDIR%%/html/CodingStandards.txt
%%PORTDOCS%%%%DOCSDIR%%/html/CommandLine.html
+%%PORTDOCS%%%%DOCSDIR%%/html/CommandLine.txt
%%PORTDOCS%%%%DOCSDIR%%/html/CompilerWriterInfo.html
%%PORTDOCS%%%%DOCSDIR%%/html/DebuggingJITedCode.html
%%PORTDOCS%%%%DOCSDIR%%/html/DeveloperPolicy.html
@@ -724,6 +727,7 @@ lib/libprofile_rt.so
%%PORTDOCS%%%%DOCSDIR%%/html/doctools.js
%%PORTDOCS%%%%DOCSDIR%%/html/down-pressed.png
%%PORTDOCS%%%%DOCSDIR%%/html/down.png
+%%PORTDOCS%%%%DOCSDIR%%/html/doxygen.css
%%PORTDOCS%%%%DOCSDIR%%/html/file.png
%%PORTDOCS%%%%DOCSDIR%%/html/genindex.html
%%PORTDOCS%%%%DOCSDIR%%/html/index.html
@@ -791,8 +795,8 @@ lib/libprofile_rt.so
%%PORTDOCS%%%%DOCSDIR%%/html/userguides.html
%%PORTDOCS%%%%DOCSDIR%%/html/userguides.txt
%%PORTDOCS%%%%DOCSDIR%%/html/websupport.js
-%%PORTDOCS%%%%DOCSDIR%%/html/doxygen.css
-%%PORTDOCS%%%%DOCSDIR%%/html.tar.gz
+%%PORTDOCS%%%%DOCSDIR%%/html/yaml2obj.html
+%%PORTDOCS%%%%DOCSDIR%%/html/yaml2obj.txt
@dirrm include/llvm/Transforms/Utils
@dirrm include/llvm/Transforms/IPO
@dirrm include/llvm/Transforms
Modified: head/lang/clang-devel/Makefile
==============================================================================
--- head/lang/clang-devel/Makefile Thu Aug 23 21:02:09 2012 (r303039)
+++ head/lang/clang-devel/Makefile Thu Aug 23 21:04:16 2012 (r303040)
@@ -7,7 +7,6 @@
PORTNAME= clang
PORTVERSION= 3.2.r${SVN_REV}
-PORTREVISION= 2
CATEGORIES= lang devel
MASTER_SITES= ${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR= brooks
@@ -54,9 +53,10 @@ MAKE_ARGS= CLANG_TBLGEN=${WRKSRC}/${RELT
LLVMToolDir=${LOCALBASE}/bin \
LLVMLibDir=${LOCALBASE}/lib
-OPTIONS_DEFINE= ASSERTS DOCS
+OPTIONS_DEFINE= ASSERTS DOCS MIPS_FPHACK
ASSERTS_DESC= Enable assertions (thread unsafe)
+MIPS_FPHACK_DESC= MIPS long double hack (breaks ABI)
MAN1= clang.1
@@ -84,6 +84,10 @@ CONFIGURE_ARGS+= --disable-assertions
RELTYPE= Release
.endif
+.if ${PORT_OPTIONS:MMIPS_FPHACK}
+EXTRA_PATCHES= ${FILESDIR}/mips-long-double-hack.diff
+.endif
+
.include <bsd.port.pre.mk>
.include "${.CURDIR}/../../devel/llvm-devel/Makefile.svn_rev"
@@ -170,7 +174,6 @@ PLIST_FILE_LIST= bin/ccc-analyzer \
bin/clang \
bin/clang++ \
bin/clang-tblgen \
- bin/c-index-test \
bin/scan-build \
bin/scan-view \
lib/libclang*
Modified: head/lang/clang-devel/distinfo
==============================================================================
--- head/lang/clang-devel/distinfo Thu Aug 23 21:02:09 2012 (r303039)
+++ head/lang/clang-devel/distinfo Thu Aug 23 21:04:16 2012 (r303040)
@@ -1,4 +1,4 @@
-SHA256 (clang-3.2.r160283.tar.bz2) = 953054836d50c2621e8e3268f8348c787e1b4f37377cb7808cd985e5e1be09dd
-SIZE (clang-3.2.r160283.tar.bz2) = 7027147
-SHA256 (llvm-3.2.r160283.tar.bz2) = 3dfae804e7765bfacfb4347ada59e174fa9f4a272ee86b17ae6882e5f3e56ca7
-SIZE (llvm-3.2.r160283.tar.bz2) = 8961712
+SHA256 (clang-3.2.r162438.tar.bz2) = 477e78674c428218ddd717e3faa798daf040ba43e26c538ef0f733dab1d4fbe1
+SIZE (clang-3.2.r162438.tar.bz2) = 7193019
+SHA256 (llvm-3.2.r162438.tar.bz2) = 6e5bd1121b6af1e89ace5f799febeec8278fa2e24fce6f69f5d840a42ac75617
+SIZE (llvm-3.2.r162438.tar.bz2) = 8851337
Added: head/lang/clang-devel/files/mips-long-double-hack.diff
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/lang/clang-devel/files/mips-long-double-hack.diff Thu Aug 23 21:04:16 2012 (r303040)
@@ -0,0 +1,15 @@
+
+$FreeBSD$
+
+--- tools/clang/lib/Basic/Targets.cpp.orig
++++ tools/clang/lib/Basic/Targets.cpp
+@@ -3957,6 +3957,9 @@
+ PointerWidth = PointerAlign = 64;
+ LongDoubleWidth = LongDoubleAlign = 128;
+ LongDoubleFormat = &llvm::APFloat::IEEEquad;
++ // FIXME: Ugly ABI-Breaking hack until the back end supports 128-bit floats
++ LongDoubleWidth = LongDoubleAlign = 64;
++ LongDoubleFormat = &llvm::APFloat::IEEEdouble;
+ SuitableAlign = 128;
+ }
+ virtual bool setABI(const std::string &Name) {
Added: head/lang/clang-devel/files/patch-tools_clang_lib_Driver_Tools.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/lang/clang-devel/files/patch-tools_clang_lib_Driver_Tools.cpp Thu Aug 23 21:04:16 2012 (r303040)
@@ -0,0 +1,62 @@
+
+$FreeBSD$
+
+--- tools/clang/lib/Driver/Tools.cpp.orig
++++ tools/clang/lib/Driver/Tools.cpp
+@@ -5119,17 +5119,48 @@
+
+ // When building 32-bit code on FreeBSD/amd64, we have to explicitly
+ // instruct as in the base system to assemble 32-bit code.
+- if (getToolChain().getArchName() == "i386")
++ if (getToolChain().getArch() == llvm::Triple::x86)
+ CmdArgs.push_back("--32");
+-
+- if (getToolChain().getArchName() == "powerpc")
++ else if (getToolChain().getArch() == llvm::Triple::ppc)
+ CmdArgs.push_back("-a32");
++ else if (getToolChain().getArch() == llvm::Triple::mips ||
++ getToolChain().getArch() == llvm::Triple::mipsel ||
++ getToolChain().getArch() == llvm::Triple::mips64 ||
++ getToolChain().getArch() == llvm::Triple::mips64el) {
++ StringRef CPUName;
++ StringRef ABIName;
++ getMipsCPUAndABI(Args, getToolChain(), CPUName, ABIName);
+
+- // Set byte order explicitly
+- if (getToolChain().getArchName() == "mips")
+- CmdArgs.push_back("-EB");
+- else if (getToolChain().getArchName() == "mipsel")
+- CmdArgs.push_back("-EL");
++ CmdArgs.push_back("-march");
++ CmdArgs.push_back(CPUName.data());
++
++ // Convert ABI name to the GNU tools acceptable variant.
++ if (ABIName == "o32")
++ ABIName = "32";
++ else if (ABIName == "n64")
++ ABIName = "64";
++
++ CmdArgs.push_back("-mabi");
++ CmdArgs.push_back(ABIName.data());
++
++ if (getToolChain().getArch() == llvm::Triple::mips ||
++ getToolChain().getArch() == llvm::Triple::mips64)
++ CmdArgs.push_back("-EB");
++ else
++ CmdArgs.push_back("-EL");
++
++ Arg *LastPICArg = Args.getLastArg(options::OPT_fPIC, options::OPT_fno_PIC,
++ options::OPT_fpic, options::OPT_fno_pic,
++ options::OPT_fPIE, options::OPT_fno_PIE,
++ options::OPT_fpie, options::OPT_fno_pie);
++ if (LastPICArg &&
++ (LastPICArg->getOption().matches(options::OPT_fPIC) ||
++ LastPICArg->getOption().matches(options::OPT_fpic) ||
++ LastPICArg->getOption().matches(options::OPT_fPIE) ||
++ LastPICArg->getOption().matches(options::OPT_fpie))) {
++ CmdArgs.push_back("-KPIC");
++ }
++ }
+
+ Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA,
+ options::OPT_Xassembler);
Modified: head/lang/clang-devel/files/patch-tools_clang_lib_Sema_SemaChecking.cpp
==============================================================================
--- head/lang/clang-devel/files/patch-tools_clang_lib_Sema_SemaChecking.cpp Thu Aug 23 21:02:09 2012 (r303039)
+++ head/lang/clang-devel/files/patch-tools_clang_lib_Sema_SemaChecking.cpp Thu Aug 23 21:04:16 2012 (r303040)
@@ -16,8 +16,8 @@ $FreeBSD: /tmp/pcvs/ports/lang/clang-dev
+ // 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;
++ //const analyze_printf::ArgType &ATR = S.Context.IntTy;
++ const analyze_printf::ArgType &ATR = type;
+ if (ATR.isValid() && !ATR.matchesType(S.Context, Ex->getType()))
+ S.Diag(getLocationOfByte(CS.getStart()),
+ diag::warn_printf_conversion_argument_type_mismatch)
@@ -28,7 +28,7 @@ $FreeBSD: /tmp/pcvs/ports/lang/clang-dev
+ // Now type check the data expression that matches the
+ // format specifier.
+ Ex = getDataArg(argIndex + 1);
-+ const analyze_printf::ArgTypeResult &ATR2 = ArgTypeResult::CStrTy;
++ const analyze_printf::ArgType &ATR2 = ArgType::CStrTy;
+ if (ATR2.isValid() && !ATR2.matchesType(S.Context, Ex->getType()))
+ S.Diag(getLocationOfByte(CS.getStart()),
+ diag::warn_printf_conversion_argument_type_mismatch)
Modified: head/lang/clang-devel/pkg-plist
==============================================================================
--- head/lang/clang-devel/pkg-plist Thu Aug 23 21:02:09 2012 (r303039)
+++ head/lang/clang-devel/pkg-plist Thu Aug 23 21:04:16 2012 (r303040)
@@ -1,5 +1,4 @@
bin/c++-analyzer
-bin/c-index-test
bin/ccc-analyzer
bin/clang
bin/clang++
@@ -31,6 +30,7 @@ include/clang/AST/CanonicalType.h
include/clang/AST/CharUnits.h
include/clang/AST/Comment.h
include/clang/AST/CommentBriefParser.h
+include/clang/AST/CommentCommandTraits.h
include/clang/AST/CommentDiagnostic.h
include/clang/AST/CommentLexer.h
include/clang/AST/CommentNodes.inc
@@ -92,7 +92,6 @@ include/clang/ASTMatchers/ASTMatchFinder
include/clang/ASTMatchers/ASTMatchers.h
include/clang/ASTMatchers/ASTMatchersInternal.h
include/clang/ASTMatchers/ASTMatchersMacros.h
-include/clang/ASTMatchers/RefactoringCallbacks.h
include/clang/Analysis/Analyses/CFGReachabilityAnalysis.h
include/clang/Analysis/Analyses/Dominators.h
include/clang/Analysis/Analyses/FormatString.h
@@ -327,7 +326,6 @@ include/clang/Serialization/ModuleManage
include/clang/Serialization/SerializationDiagnostic.h
include/clang/StaticAnalyzer/Checkers/ClangCheckers.h
include/clang/StaticAnalyzer/Checkers/CommonBugCategories.h
-include/clang/StaticAnalyzer/Checkers/DereferenceChecker.h
include/clang/StaticAnalyzer/Checkers/LocalCheckers.h
include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h
@@ -342,7 +340,7 @@ include/clang/StaticAnalyzer/Core/PathSe
include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h
-include/clang/StaticAnalyzer/Core/PathSensitive/Calls.h
+include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h
@@ -368,9 +366,10 @@ include/clang/StaticAnalyzer/Core/PathSe
include/clang/StaticAnalyzer/Frontend/CheckerRegistration.h
include/clang/StaticAnalyzer/Frontend/FrontendActions.h
include/clang/Tooling/ArgumentsAdjusters.h
-include/clang/Tooling/CommandLineClangTool.h
+include/clang/Tooling/CommonOptionsParser.h
include/clang/Tooling/CompilationDatabase.h
include/clang/Tooling/Refactoring.h
+include/clang/Tooling/RefactoringCallbacks.h
include/clang/Tooling/Tooling.h
lib/clang/%%CLANG_RELEASE%%/include/ammintrin.h
lib/clang/%%CLANG_RELEASE%%/include/arm_neon.h
@@ -414,11 +413,14 @@ lib/libclangTooling.a
%%PORTDOCS%%%%DOCSDIR%%/html/AnalyzerRegions.html
%%PORTDOCS%%%%DOCSDIR%%/html/AutomaticReferenceCounting.html
%%PORTDOCS%%%%DOCSDIR%%/html/ClangPlugins.html
+%%PORTDOCS%%%%DOCSDIR%%/html/ClangTools.html
%%PORTDOCS%%%%DOCSDIR%%/html/DriverInternals.html
%%PORTDOCS%%%%DOCSDIR%%/html/HowToSetupToolingForLLVM.html
%%PORTDOCS%%%%DOCSDIR%%/html/InternalsManual.html
+%%PORTDOCS%%%%DOCSDIR%%/html/IntroductionToTheClangAST.html
%%PORTDOCS%%%%DOCSDIR%%/html/JSONCompilationDatabase.html
%%PORTDOCS%%%%DOCSDIR%%/html/LanguageExtensions.html
+%%PORTDOCS%%%%DOCSDIR%%/html/LibASTMatchersReference.html
%%PORTDOCS%%%%DOCSDIR%%/html/LibTooling.html
%%PORTDOCS%%%%DOCSDIR%%/html/ObjectiveCLiterals.html
%%PORTDOCS%%%%DOCSDIR%%/html/PCHInternals.html
More information about the svn-ports-all
mailing list