summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2018-01-03 23:40:06 -0500
committerMike Frysinger <vapier@gentoo.org>2018-01-03 23:41:26 -0500
commit5c5af6f0b0c4fb3e986d6a878568b2f8fed91db0 (patch)
tree917a394523ebf8a42fad54c317add9ceb6c84c61 /dev-util/creduce
parentsys-libs/gdbm: Removed old. (diff)
downloadgentoo-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.ebuild38
-rw-r--r--dev-util/creduce/files/creduce-2.7.0-llvm-5.patch54
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
+