summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-util/include-what-you-use
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-util/include-what-you-use')
-rw-r--r--dev-util/include-what-you-use/Manifest4
-rw-r--r--dev-util/include-what-you-use/files/include-what-you-use-3.3-issue-110-elaboration.patch299
-rw-r--r--dev-util/include-what-you-use/include-what-you-use-3.3-r1.ebuild35
-rw-r--r--dev-util/include-what-you-use/include-what-you-use-3.4.ebuild34
-rw-r--r--dev-util/include-what-you-use/include-what-you-use-3.5.ebuild33
-rw-r--r--dev-util/include-what-you-use/include-what-you-use-3.6.ebuild35
-rw-r--r--dev-util/include-what-you-use/metadata.xml8
7 files changed, 448 insertions, 0 deletions
diff --git a/dev-util/include-what-you-use/Manifest b/dev-util/include-what-you-use/Manifest
new file mode 100644
index 000000000000..e9719953601c
--- /dev/null
+++ b/dev-util/include-what-you-use/Manifest
@@ -0,0 +1,4 @@
+DIST include-what-you-use-3.3.tar.gz 287279 SHA256 4aa3a4b1f9450c731c9cb125db6906d2b6bce093297dd1811bdc191c35a443be SHA512 70d7052a0cd5d82fc9d8fcec2fa222f38a02517ad1f6aa6bcff1b9a5170372dd090aebe3989746727ec883a21bf44c5d5602ebe0f8a021cfc2124fb81a14a238 WHIRLPOOL 04fbc8bef3b176327f88eb5edae8a14a046803b06a7782c548690e222b00c9f3e8aace71395bbc41ed5b928e60fe2531bbcb9650655386dc5499da14e746f255
+DIST include-what-you-use-3.4.src.tar.gz 291851 SHA256 73cf2c715c8604c4e832d0a63773210a2cd396988c970ddcbe8fe35bc026d0a4 SHA512 bf02abeb3df27d319db8c6ff7d8319f9cfb301206c77378f8a18d2be7b82ecc6179a034eeb52c18cade6d98288abaf9efc534c221fb2ab93730567c41e77ad11 WHIRLPOOL 5e39837909ac36bfc45868723f93593c0366020d3f4f6de3f0258497ad01184e6ae17e9aa8bace1d2b27b77c4351856adf9f07eb9a6ec2d39d23bf9672f30e39
+DIST include-what-you-use-3.5.src.tar.gz 302759 SHA256 bc8475fc853a4b60941eb30ea31c62d096e131e359ac69a5d6a2a237393ad4f1 SHA512 5e5c310dbb673eab7c5e2234fa6a35eebdb208b6b779fcd38503e15617a7a6bea6d6dce081c4620f7ec5895628ed037a091e8917d28538c2fe936d848459ea53 WHIRLPOOL 452ae42b39a4fffbb462bc9e33244bf2dca1e0b8676b015fb08f350ec9249f15aadc706e3dcd62e12b511c2daf96fdbcd2aa97145f64a7d183be2428111af5a1
+DIST include-what-you-use-3.6.src.tar.gz 308678 SHA256 0571fe55c0af5d38bfd5e71d8d4743f09f2d404e3725a027b20665b7f983fca6 SHA512 3d8c80e6f60f24774cb7b6fae53f4fac2ef368737a1cd8646c3b80029b2b1d0e439aa4185935759dc37e2b9a3ee06e79af8b262af8bbfd38597d8c509942356b WHIRLPOOL c886169f7bb1bc1ff8f89e25452558607f1ad9cff5b45bbf5e9a0ee129695a2741baa2c144d1198a488fa0455b055722db4404f8b0e843100891aa19fd2abe58
diff --git a/dev-util/include-what-you-use/files/include-what-you-use-3.3-issue-110-elaboration.patch b/dev-util/include-what-you-use/files/include-what-you-use-3.3-issue-110-elaboration.patch
new file mode 100644
index 000000000000..70a2a5d0f717
--- /dev/null
+++ b/dev-util/include-what-you-use/files/include-what-you-use-3.3-issue-110-elaboration.patch
@@ -0,0 +1,299 @@
+Upstream-bug: http://code.google.com/p/include-what-you-use/issues/detail?id=110
+Index: tests/elaboration-struct.h
+===================================================================
+--- tests/elaboration-struct.h (revision 0)
++++ tests/elaboration-struct.h (revision 0)
+@@ -0,0 +1,10 @@
++//===--- elaboration-struct.h - test input file for iwyu ------------------===//
++//
++// The LLVM Compiler Infrastructure
++//
++// This file is distributed under the University of Illinois Open Source
++// License. See LICENSE.TXT for details.
++//
++//===----------------------------------------------------------------------===//
++
++struct ElaborationStruct {};
+
+Property changes on: tests\elaboration-struct.h
+___________________________________________________________________
+Added: svn:eol-style
+ + native
+
+Index: tests/elaboration.cc
+===================================================================
+--- tests/elaboration.cc (revision 0)
++++ tests/elaboration.cc (revision 0)
+@@ -0,0 +1,79 @@
++//===--- elaboration.cc - test input file for iwyu ------------------------===//
++//
++// The LLVM Compiler Infrastructure
++//
++// This file is distributed under the University of Illinois Open Source
++// License. See LICENSE.TXT for details.
++//
++//===----------------------------------------------------------------------===//
++
++// Test that elaborated types are handled correctly.
++//
++// An elaborated type is a type prefixed by type kind, e.g. 'class Foo',
++// 'struct Bar' or 'enum Baz'.
++//
++// Clang considers namespace-qualified types elaborated as well, even if they
++// lack actual elaboration, e.g. 'ns::Foo'.
++
++
++#include "tests/elaboration-enum1.h" // for ElaborationEnum1
++#include "tests/elaboration-enum2.h" // for ElaborationEnum2
++
++// Make sure both elaborated and bare enums require the full type.
++void bare_enum(ElaborationEnum1 e);
++void elaborated_enum(enum ElaborationEnum2 e);
++
++// For C++ classes, a forward declaration should suffice for
++// bare type names and nothing should be necessary for elaborated ones.
++#include "tests/elaboration-class.h"
++
++void bare_class(ElaborationClass* c);
++void elaborated_class(class UnknownElaborationClass* c);
++
++// Structs should work like classes.
++#include "tests/elaboration-struct.h"
++
++void bare_struct(ElaborationStruct* s);
++void elaborated_struct(struct UnknownElaborationStruct* s);
++
++// And unions.
++#include "tests/elaboration-union.h"
++
++void bare_union(ElaborationUnion* u);
++void elaborated_union(union UnknownElaborationUnion* u);
++
++// Namespace-qualified types must be forward-declared even
++// if they are represented as elaborated types in Clang's AST.
++#include "tests/elaboration-namespace.h"
++
++void namespace_qualified(Elaboration::Class* c);
++
++// We can use elaborated types for templates, too, but
++// they must also be forward-declared.
++struct Elaboration::Template<int, float>* namespace_qualified_template;
++
++/**** IWYU_SUMMARY
++
++tests/elaboration.cc should add these lines:
++class ElaborationClass;
++namespace Elaboration { class Class; }
++namespace Elaboration { template <typename T, typename U> struct Template; }
++struct ElaborationStruct;
++union ElaborationUnion;
++
++tests/elaboration.cc should remove these lines:
++- #include "tests/elaboration-class.h" // lines XX-XX
++- #include "tests/elaboration-namespace.h" // lines XX-XX
++- #include "tests/elaboration-struct.h" // lines XX-XX
++- #include "tests/elaboration-union.h" // lines XX-XX
++
++The full include-list for tests/elaboration.cc:
++#include "tests/elaboration-enum1.h" // for ElaborationEnum1
++#include "tests/elaboration-enum2.h" // for ElaborationEnum2
++class ElaborationClass;
++namespace Elaboration { class Class; }
++namespace Elaboration { template <typename T, typename U> struct Template; }
++struct ElaborationStruct;
++union ElaborationUnion;
++
++***** IWYU_SUMMARY */
+Index: tests/elaboration-enum1.h
+===================================================================
+--- tests/elaboration-enum1.h (revision 0)
++++ tests/elaboration-enum1.h (revision 0)
+@@ -0,0 +1,13 @@
++//===--- elaboration-enum1.h - test input file for iwyu -------------------===//
++//
++// The LLVM Compiler Infrastructure
++//
++// This file is distributed under the University of Illinois Open Source
++// License. See LICENSE.TXT for details.
++//
++//===----------------------------------------------------------------------===//
++
++enum ElaborationEnum1 {
++ EE1_First,
++ EE1_Second
++};
+
+Property changes on: tests\elaboration-enum1.h
+___________________________________________________________________
+Added: svn:eol-style
+ + native
+
+Index: tests/elaboration-class.h
+===================================================================
+--- tests/elaboration-class.h (revision 0)
++++ tests/elaboration-class.h (revision 0)
+@@ -0,0 +1,10 @@
++//===--- elaboration-class.h - test input file for iwyu -------------------===//
++//
++// The LLVM Compiler Infrastructure
++//
++// This file is distributed under the University of Illinois Open Source
++// License. See LICENSE.TXT for details.
++//
++//===----------------------------------------------------------------------===//
++
++class ElaborationClass {};
+
+Property changes on: tests\elaboration-class.h
+___________________________________________________________________
+Added: svn:eol-style
+ + native
+
+Index: tests/badinc.cc
+===================================================================
+--- tests/badinc.cc (revision 485)
++++ tests/badinc.cc (working copy)
+@@ -317,17 +317,12 @@
+ // IWYU: I2_Class is...*badinc-i2.h.*for autocast
+ // IWYU: I2_Class needs a declaration
+ const I2_Class& i2,
+- const class I1_Class& elaborated_i1,
+- // IWYU: I2_Class is...*badinc-i2.h.*for autocast
+- const class I2_Class& elaborated_i2,
+ // A subtle c++ point: forward-declaring is ok for i2b, because
+ // you can't do implicit conversion to a non-const reference
+ // (implicit conversion involves creating a temporary, which
+ // doesn't bind to non-const references).
+ // IWYU: I2_Class needs a declaration
+ I2_Class& i2_nonconst,
+- class I2_Class& elaborated_i2_nonconst,
+- struct i3_ns1::i3_ns2::i3_ns3::I3_ForwardDeclareNamespaceStruct* i3_forward,
+ // Forward-declaring is ok because we a const reference to a *pointer*.
+ // IWYU: I2_Class needs a declaration
+ I2_Class* const & i2_ptrref,
+@@ -897,11 +892,6 @@
+ // IWYU: I3_ForwardDeclareNamespaceTemplateStruct needs a declaration
+ i3_ns1::i3_ns2::i3_ns3::I3_ForwardDeclareNamespaceTemplateStruct<H_Enum, 2>*
+ i3_fdtns_struct;
+-// Even with elaboration, we still need fwd decl.
+-// IWYU: I3_ForwardDeclareNamespaceTemplateStruct needs a declaration
+-struct i3_ns1::i3_ns2::i3_ns3::I3_ForwardDeclareNamespaceTemplateStruct<H_Enum,
+- 3>*
+- i3_elaborated_fdtns_struct;
+
+ // IWYU: I3_UnnamedNamespaceStruct needs a declaration
+ i3_ns1::I3_UnnamedNamespaceStruct* i3_unnamed_namespace_struct;
+Index: tests/elaboration-enum2.h
+===================================================================
+--- tests/elaboration-enum2.h (revision 0)
++++ tests/elaboration-enum2.h (revision 0)
+@@ -0,0 +1,13 @@
++//===--- elaboration-enum2.h - test input file for iwyu -------------------===//
++//
++// The LLVM Compiler Infrastructure
++//
++// This file is distributed under the University of Illinois Open Source
++// License. See LICENSE.TXT for details.
++//
++//===----------------------------------------------------------------------===//
++
++enum ElaborationEnum2 {
++ EE2_First,
++ EE2_Second
++};
+
+Property changes on: tests\elaboration-enum2.h
+___________________________________________________________________
+Added: svn:eol-style
+ + native
+
+Index: tests/elaboration-union.h
+===================================================================
+--- tests/elaboration-union.h (revision 0)
++++ tests/elaboration-union.h (revision 0)
+@@ -0,0 +1,10 @@
++//===--- elaboration-union.h - test input file for iwyu -------------------===//
++//
++// The LLVM Compiler Infrastructure
++//
++// This file is distributed under the University of Illinois Open Source
++// License. See LICENSE.TXT for details.
++//
++//===----------------------------------------------------------------------===//
++
++union ElaborationUnion {};
+
+Property changes on: tests\elaboration-union.h
+___________________________________________________________________
+Added: svn:eol-style
+ + native
+
+Index: tests/elaboration-namespace.h
+===================================================================
+--- tests/elaboration-namespace.h (revision 0)
++++ tests/elaboration-namespace.h (revision 0)
+@@ -0,0 +1,18 @@
++//===--- elaboration-namespace.h - test input file for iwyu ---------------===//
++//
++// The LLVM Compiler Infrastructure
++//
++// This file is distributed under the University of Illinois Open Source
++// License. See LICENSE.TXT for details.
++//
++//===----------------------------------------------------------------------===//
++
++namespace Elaboration {
++ class Class {};
++
++ template< typename T, typename U >
++ struct Template {
++ typedef T FirstType;
++ typedef U SecondType;
++ };
++}
+
+Property changes on: tests\elaboration-namespace.h
+___________________________________________________________________
+Added: svn:eol-style
+ + native
+
+Index: iwyu.cc
+===================================================================
+--- iwyu.cc (revision 485)
++++ iwyu.cc (working copy)
+@@ -166,6 +166,7 @@
+ using clang::DeclContext;
+ using clang::DeclRefExpr;
+ using clang::ElaboratedType;
++using clang::EnumType;
+ using clang::Expr;
+ using clang::FileEntry;
+ using clang::FriendDecl;
+@@ -3454,6 +3455,7 @@
+ preprocessor_info().FileInfoFor(CurrentFileEntry())->AddForwardDeclare(
+ decl_to_fwd_declare, definitely_keep_fwd_decl);
+ }
++
+ return Base::VisitTagDecl(decl);
+ }
+
+@@ -3562,13 +3564,17 @@
+ // If we're forward-declarable, then no complicated checking is
+ // needed: just forward-declare. If we're already elaborated
+ // ('class Foo x') but not namespace-qualified ('class ns::Foo x')
+- // there's no need even to forward-declare!
++ // or an enum ('enum Foo x') there's no need even to forward-declare!
+ if (CanForwardDeclareType(current_ast_node())) {
+ current_ast_node()->set_in_forward_declare_context(true);
++
++ bool is_enum_type = current_ast_node()->GetAs<EnumType>();
+ if (!IsElaborationNode(current_ast_node()->parent()) ||
+- IsNamespaceQualifiedNode(current_ast_node()->parent())) {
++ IsNamespaceQualifiedNode(current_ast_node()->parent()) ||
++ is_enum_type) {
+ ReportDeclForwardDeclareUse(CurrentLoc(), type->getDecl());
+ }
++
+ return Base::VisitTagType(type);
+ }
+
diff --git a/dev-util/include-what-you-use/include-what-you-use-3.3-r1.ebuild b/dev-util/include-what-you-use/include-what-you-use-3.3-r1.ebuild
new file mode 100644
index 000000000000..5480dbdc8c01
--- /dev/null
+++ b/dev-util/include-what-you-use/include-what-you-use-3.3-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils cmake-utils flag-o-matic
+
+DESCRIPTION="find unused include directives in C/C++ programs"
+HOMEPAGE="https://code.google.com/p/include-what-you-use/"
+# picked from google drive
+SRC_URI="http://dev.gentoo.org/~slyfox/distfiles/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="=sys-devel/llvm-3.3*
+ =sys-devel/clang-3.3*"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-issue-110-elaboration.patch
+ epatch_user
+}
+
+src_configure() {
+ append-ldflags -L$(llvm-config --libdir)
+
+ local mycmakeargs=(
+ -DLLVM_PATH=$(llvm-config --libdir)
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-util/include-what-you-use/include-what-you-use-3.4.ebuild b/dev-util/include-what-you-use/include-what-you-use-3.4.ebuild
new file mode 100644
index 000000000000..42c0c4cdee56
--- /dev/null
+++ b/dev-util/include-what-you-use/include-what-you-use-3.4.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils cmake-utils flag-o-matic
+
+DESCRIPTION="find unused include directives in C/C++ programs"
+HOMEPAGE="https://code.google.com/p/include-what-you-use/"
+# picked from google drive
+SRC_URI="http://dev.gentoo.org/~slyfox/distfiles/${P}.src.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="=sys-devel/llvm-3.4*
+ =sys-devel/clang-3.4*"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ append-ldflags -L$(llvm-config --libdir)
+
+ local mycmakeargs=(
+ -DLLVM_PATH=$(llvm-config --libdir)
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-util/include-what-you-use/include-what-you-use-3.5.ebuild b/dev-util/include-what-you-use/include-what-you-use-3.5.ebuild
new file mode 100644
index 000000000000..167af754914f
--- /dev/null
+++ b/dev-util/include-what-you-use/include-what-you-use-3.5.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils cmake-utils flag-o-matic
+
+DESCRIPTION="find unused include directives in C/C++ programs"
+HOMEPAGE="https://code.google.com/p/include-what-you-use/"
+SRC_URI="http://include-what-you-use.com/downloads/include-what-you-use-3.5.src.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="=sys-devel/llvm-3.5*
+ =sys-devel/clang-3.5*"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ append-ldflags -L$(llvm-config --libdir)
+
+ local mycmakeargs=(
+ -DLLVM_PATH=$(llvm-config --libdir)
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-util/include-what-you-use/include-what-you-use-3.6.ebuild b/dev-util/include-what-you-use/include-what-you-use-3.6.ebuild
new file mode 100644
index 000000000000..f39f4f0e342c
--- /dev/null
+++ b/dev-util/include-what-you-use/include-what-you-use-3.6.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils cmake-utils flag-o-matic
+
+WEIRD_UPSREAM_VERSION=0.4
+
+DESCRIPTION="find unused include directives in C/C++ programs"
+HOMEPAGE="https://code.google.com/p/include-what-you-use/"
+SRC_URI="http://include-what-you-use.org/downloads/${PN}-${WEIRD_UPSREAM_VERSION}.src.tar.gz -> ${P}.src.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="=sys-devel/llvm-3.6*
+ =sys-devel/clang-3.6*"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ epatch_user
+}
+
+src_configure() {
+ append-ldflags -L$(llvm-config --libdir)
+
+ local mycmakeargs=(
+ -DLLVM_PATH=$(llvm-config --libdir)
+ )
+ cmake-utils_src_configure
+}
diff --git a/dev-util/include-what-you-use/metadata.xml b/dev-util/include-what-you-use/metadata.xml
new file mode 100644
index 000000000000..49bf44dac71e
--- /dev/null
+++ b/dev-util/include-what-you-use/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>slyfox@gentoo.org</email>
+ <name>Sergei Trofimovich</name>
+ </maintainer>
+</pkgmetadata>