public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Mike Frysinger" <vapier@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/creduce/files/, dev-util/creduce/
Date: Thu,  4 Jan 2018 04:42:06 +0000 (UTC)	[thread overview]
Message-ID: <1515040886.5c5af6f0b0c4fb3e986d6a878568b2f8fed91db0.vapier@gentoo> (raw)

commit:     5c5af6f0b0c4fb3e986d6a878568b2f8fed91db0
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Thu Jan  4 04:40:06 2018 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Thu Jan  4 04:41:26 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c5af6f0

dev-util/creduce: add upstream fix for building w/llvm-5

 dev-util/creduce/creduce-2.7.0-r1.ebuild          | 38 ++++++++++++++++
 dev-util/creduce/files/creduce-2.7.0-llvm-5.patch | 54 +++++++++++++++++++++++
 2 files changed, 92 insertions(+)

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 00000000000..ec92e4710d2
--- /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 00000000000..ecf2ac70fa8
--- /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
+


             reply	other threads:[~2018-01-04  4:42 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-04  4:42 Mike Frysinger [this message]
  -- strict thread matches above, loose matches on Subject: below --
2018-10-04 17:07 [gentoo-commits] repo/gentoo:master commit in: dev-util/creduce/files/, dev-util/creduce/ Michał Górny
2020-05-01  8:54 Michał Górny

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1515040886.5c5af6f0b0c4fb3e986d6a878568b2f8fed91db0.vapier@gentoo \
    --to=vapier@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox