diff options
author | Mike Frysinger <vapier@gentoo.org> | 2018-01-03 23:40:06 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2018-01-03 23:41:26 -0500 |
commit | 5c5af6f0b0c4fb3e986d6a878568b2f8fed91db0 (patch) | |
tree | 917a394523ebf8a42fad54c317add9ceb6c84c61 /dev-util/creduce | |
parent | sys-libs/gdbm: Removed old. (diff) | |
download | gentoo-5c5af6f0b0c4fb3e986d6a878568b2f8fed91db0.tar.gz gentoo-5c5af6f0b0c4fb3e986d6a878568b2f8fed91db0.tar.bz2 gentoo-5c5af6f0b0c4fb3e986d6a878568b2f8fed91db0.zip |
dev-util/creduce: add upstream fix for building w/llvm-5
Diffstat (limited to 'dev-util/creduce')
-rw-r--r-- | dev-util/creduce/creduce-2.7.0-r1.ebuild | 38 | ||||
-rw-r--r-- | dev-util/creduce/files/creduce-2.7.0-llvm-5.patch | 54 |
2 files changed, 92 insertions, 0 deletions
diff --git a/dev-util/creduce/creduce-2.7.0-r1.ebuild b/dev-util/creduce/creduce-2.7.0-r1.ebuild new file mode 100644 index 000000000000..ec92e4710d21 --- /dev/null +++ b/dev-util/creduce/creduce-2.7.0-r1.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +: ${CMAKE_MAKEFILE_GENERATOR=ninja} +inherit cmake-utils llvm + +DESCRIPTION="C-Reduce - a plugin-based C program reducer" +HOMEPAGE="https://embed.cs.utah.edu/creduce/" +SRC_URI="https://embed.cs.utah.edu/creduce/${P}.tar.gz" + +LICENSE="UoI-NCSA" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +COMMON_DEPEND=" + >=dev-lang/perl-5.10.0 + >=sys-devel/clang-4:=" +RDEPEND="${COMMON_DEPEND} + dev-perl/Benchmark-Timer + dev-perl/Exporter-Lite + dev-perl/File-Which + dev-perl/Getopt-Tabular + dev-perl/Regexp-Common + dev-perl/Sys-CPU + dev-util/astyle + dev-util/indent" +DEPEND="${COMMON_DEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-llvm-5.patch +) + +llvm_check_deps() { + has_version "sys-devel/clang:${LLVM_SLOT}" +} diff --git a/dev-util/creduce/files/creduce-2.7.0-llvm-5.patch b/dev-util/creduce/files/creduce-2.7.0-llvm-5.patch new file mode 100644 index 000000000000..ecf2ac70fa81 --- /dev/null +++ b/dev-util/creduce/files/creduce-2.7.0-llvm-5.patch @@ -0,0 +1,54 @@ +From 97e2b29956adbe61973228ef7d8bff28e83d04d4 Mon Sep 17 00:00:00 2001 +From: Yang Chen <chenyang@cs.utah.edu> +Date: Thu, 27 Apr 2017 20:55:32 -0700 +Subject: [PATCH] Fix build failure with LLVM trunk + +Patch provided by Markus Trippelsdorf. Thanks! + +"InputKind was refactored in Clang r301442. + +The IK_Preprocessed* comparisons are superfluous now and can be dropped." +--- + clang_delta/TransformationManager.cpp | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/clang_delta/TransformationManager.cpp b/clang_delta/TransformationManager.cpp +index 8b6bdf454847..5db190cd71d1 100644 +--- a/clang_delta/TransformationManager.cpp ++++ b/clang_delta/TransformationManager.cpp +@@ -101,16 +101,16 @@ bool TransformationManager::initializeCompilerInstance(std::string &ErrorMsg) + CompilerInvocation &Invocation = ClangInstance->getInvocation(); + InputKind IK = FrontendOptions::getInputKindForExtension( + StringRef(SrcFileName).rsplit('.').second); +- if ((IK == IK_C) || (IK == IK_PreprocessedC)) { +- Invocation.setLangDefaults(ClangInstance->getLangOpts(), IK_C, T, PPOpts); ++ if (IK.getLanguage() == InputKind::C) { ++ Invocation.setLangDefaults(ClangInstance->getLangOpts(), InputKind::C, T, PPOpts); + } +- else if ((IK == IK_CXX) || (IK == IK_PreprocessedCXX)) { ++ else if (IK.getLanguage() == InputKind::CXX) { + // ISSUE: it might cause some problems when building AST +- // for a function which has a non-declared callee, e.g., +- // It results an empty AST for the caller. +- Invocation.setLangDefaults(ClangInstance->getLangOpts(), IK_CXX, T, PPOpts); ++ // for a function which has a non-declared callee, e.g., ++ // It results an empty AST for the caller. ++ Invocation.setLangDefaults(ClangInstance->getLangOpts(), InputKind::CXX, T, PPOpts); + } +- else if(IK == IK_OpenCL) { ++ else if(IK.getLanguage() == InputKind::OpenCL) { + //Commandline parameters + std::vector<const char*> Args; + Args.push_back("-x"); +@@ -135,7 +135,7 @@ bool TransformationManager::initializeCompilerInstance(std::string &ErrorMsg) + &Args[0], &Args[0] + Args.size(), + ClangInstance->getDiagnostics()); + Invocation.setLangDefaults(ClangInstance->getLangOpts(), +- IK_OpenCL, T, PPOpts); ++ InputKind::OpenCL, T, PPOpts); + } + else { + ErrorMsg = "Unsupported file type!"; +-- +2.15.1 + |