aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-07-19 15:54:43 +0100
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-07-19 15:54:43 +0100
commit9905960eeebd62d0a96a8d65e60a017db5b7cb3d (patch)
tree2baa3d5d6ec251ce97ecccacc404c253073f425b
parentd590225911bc1a6ae54eff1f8c6dd30f0f8750b3 (diff)
downloadpaludis-9905960eeebd62d0a96a8d65e60a017db5b7cb3d.tar.gz
paludis-9905960eeebd62d0a96a8d65e60a017db5b7cb3d.tar.xz
Remove the double template<> #ifdefs
Any compiler that needs them is broken and can go away.
-rw-r--r--configure.ac14
-rw-r--r--paludis/dep_spec.cc3
-rw-r--r--paludis/dep_spec_flattener.cc5
-rw-r--r--paludis/distribution-impl.hh5
-rw-r--r--paludis/literal_metadata_key.cc5
-rw-r--r--paludis/repositories/fake/fake_package_id.cc9
-rw-r--r--paludis/resolver/decisions.cc6
-rw-r--r--paludis/resolver/job_list.cc6
-rw-r--r--paludis/util/graph-impl.hh3
-rw-r--r--paludis/util/map-impl.hh5
-rw-r--r--paludis/util/sequence-impl.hh5
-rw-r--r--paludis/util/set-impl.hh5
12 files changed, 6 insertions, 65 deletions
diff --git a/configure.ac b/configure.ac
index 3908ce6..f043bdc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -608,20 +608,6 @@ using n::r_x;
AC_MSG_ERROR([Your compiler is b0rked (GCC bug 31899?)])])
dnl }}}
-dnl {{{ check for whether we want an extra template<> for Implementation
-AC_MSG_CHECKING([whether your compiler wants template<> for template specialisations of template classes])
-AC_COMPILE_IFELSE([
-template <typename T_> struct S;
-template <typename T_> struct T;
-template <> template <typename T_> struct S<T<T_> > { };
-],
- [AC_MSG_RESULT([yes])],
- [AC_MSG_RESULT([no])
- PALUDIS_CXXFLAGS="${PALUDIS_CXXFLAGS} -DPALUDIS_NO_DOUBLE_TEMPLATE=1"
- PALUDIS_PC_CFLAGS="${PALUDIS_PC_CFLAGS} -DPALUDIS_NO_DOUBLE_TEMPLATE=1"
- ])
-dnl }}}
-
dnl {{{ check whether we do explicit instantiation of fully specialised templates
AC_MSG_CHECKING([whether we should explicitly instantiate fully specialised templates])
AC_COMPILE_IFELSE([
diff --git a/paludis/dep_spec.cc b/paludis/dep_spec.cc
index 9702a1a..cceae40 100644
--- a/paludis/dep_spec.cc
+++ b/paludis/dep_spec.cc
@@ -524,9 +524,6 @@ FetchableURIDepSpec::clone() const
namespace paludis
{
-#ifndef PALUDIS_NO_DOUBLE_TEMPLATE
- template <>
-#endif
template <typename T_>
struct Implementation<LabelsDepSpec<T_ > >
{
diff --git a/paludis/dep_spec_flattener.cc b/paludis/dep_spec_flattener.cc
index c212896..89fe9fb 100644
--- a/paludis/dep_spec_flattener.cc
+++ b/paludis/dep_spec_flattener.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -35,9 +35,6 @@ using namespace paludis;
namespace paludis
{
-#ifndef PALUDIS_NO_DOUBLE_TEMPLATE
- template <>
-#endif
template <typename Heirarchy_, typename Item_>
struct Implementation<DepSpecFlattener<Heirarchy_, Item_> >
{
diff --git a/paludis/distribution-impl.hh b/paludis/distribution-impl.hh
index 25964f1..6f38af4 100644
--- a/paludis/distribution-impl.hh
+++ b/paludis/distribution-impl.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008 Ciaran McCreesh
+ * Copyright (c) 2008, 2010 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -31,9 +31,6 @@
namespace paludis
{
-#ifndef PALUDIS_NO_DOUBLE_TEMPLATE
- template <>
-#endif
template <typename Data_>
struct Implementation<ExtraDistributionData<Data_> >
{
diff --git a/paludis/literal_metadata_key.cc b/paludis/literal_metadata_key.cc
index 816da45..9b50e83 100644
--- a/paludis/literal_metadata_key.cc
+++ b/paludis/literal_metadata_key.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -89,9 +89,6 @@ namespace paludis
}
};
-#ifndef PALUDIS_NO_DOUBLE_TEMPLATE
- template <>
-#endif
template <typename T_>
struct Implementation<LiteralMetadataValueKey<T_> >
{
diff --git a/paludis/repositories/fake/fake_package_id.cc b/paludis/repositories/fake/fake_package_id.cc
index b60e52f..b9d6b97 100644
--- a/paludis/repositories/fake/fake_package_id.cc
+++ b/paludis/repositories/fake/fake_package_id.cc
@@ -51,9 +51,6 @@ using namespace paludis::fakerepository;
namespace paludis
{
-#ifndef PALUDIS_NO_DOUBLE_TEMPLATE
- template <>
-#endif
template <typename C_>
struct Implementation<FakeMetadataValueKey<C_> >
{
@@ -129,9 +126,6 @@ FakeMetadataValueKey<C_>::set_value(const C_ & c)
namespace paludis
{
-#ifndef PALUDIS_NO_DOUBLE_TEMPLATE
- template <>
-#endif
template <typename C_>
struct Implementation<FakeMetadataCollectionKey<C_> >
{
@@ -214,9 +208,6 @@ FakeMetadataKeywordSetKey::set_from_string(const std::string & s)
namespace paludis
{
-#ifndef PALUDIS_NO_DOUBLE_TEMPLATE
- template <>
-#endif
template <typename C_>
struct Implementation<FakeMetadataSpecTreeKey<C_> >
{
diff --git a/paludis/resolver/decisions.cc b/paludis/resolver/decisions.cc
index 2dda588..3e0a27a 100644
--- a/paludis/resolver/decisions.cc
+++ b/paludis/resolver/decisions.cc
@@ -97,18 +97,12 @@ namespace
namespace paludis
{
-#ifdef PALUDIS_NO_DOUBLE_TEMPLATE
- template <>
-#endif
template <typename Decision_, typename Notes_>
struct Implementation<Decisions<Decision_, Notes_> >
{
typename ContainerTraits<Decision_, Notes_>::ContainerType values;
};
-#ifdef PALUDIS_NO_DOUBLE_TEMPLATE
- template <>
-#endif
template <typename Decision_, typename Notes_>
struct WrappedForwardIteratorTraits<DecisionsConstIteratorTag<Decision_, Notes_> >
{
diff --git a/paludis/resolver/job_list.cc b/paludis/resolver/job_list.cc
index 031c028..5392f34 100644
--- a/paludis/resolver/job_list.cc
+++ b/paludis/resolver/job_list.cc
@@ -29,18 +29,12 @@ using namespace paludis::resolver;
namespace paludis
{
-#ifndef PALUDIS_NO_DOUBLE_TEMPLATE
- template <>
-#endif
template <typename Job_>
struct Implementation<JobList<Job_> >
{
std::vector<std::tr1::shared_ptr<Job_> > list;
};
-#ifdef PALUDIS_NO_DOUBLE_TEMPLATE
- template <>
-#endif
template <typename Job_>
struct WrappedForwardIteratorTraits<JobListConstIteratorTag<Job_> >
{
diff --git a/paludis/util/graph-impl.hh b/paludis/util/graph-impl.hh
index 62fd772..a84cf1e 100644
--- a/paludis/util/graph-impl.hh
+++ b/paludis/util/graph-impl.hh
@@ -90,9 +90,6 @@ namespace paludis
* \ingroup g_data_structures
* \nosubgrouping
*/
-#ifndef PALUDIS_NO_DOUBLE_TEMPLATE
- template<>
-#endif
template <typename Node_, typename Edge_, typename Comparator_>
struct Implementation<DirectedGraph<Node_, Edge_, Comparator_> >
{
diff --git a/paludis/util/map-impl.hh b/paludis/util/map-impl.hh
index 901ca1e..2d16182 100644
--- a/paludis/util/map-impl.hh
+++ b/paludis/util/map-impl.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2009 Ciaran McCreesh
+ * Copyright (c) 2007, 2009, 2010 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -53,9 +53,6 @@ namespace paludis
* \ingroup g_data_structures
* \nosubgrouping
*/
-#ifndef PALUDIS_NO_DOUBLE_TEMPLATE
- template <>
-#endif
template <typename K_, typename V_, typename C_>
struct Implementation<Map<K_, V_, C_> >
{
diff --git a/paludis/util/sequence-impl.hh b/paludis/util/sequence-impl.hh
index 116377c..281eb15 100644
--- a/paludis/util/sequence-impl.hh
+++ b/paludis/util/sequence-impl.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2009 Ciaran McCreesh
+ * Copyright (c) 2007, 2009, 2010 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -41,9 +41,6 @@ namespace paludis
* \ingroup g_data_structures
* \nosubgrouping
*/
-#ifndef PALUDIS_NO_DOUBLE_TEMPLATE
- template <>
-#endif
template <typename T_>
struct Implementation<Sequence<T_> >
{
diff --git a/paludis/util/set-impl.hh b/paludis/util/set-impl.hh
index f3b0e80..6a2e1e0 100644
--- a/paludis/util/set-impl.hh
+++ b/paludis/util/set-impl.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2009 Ciaran McCreesh
+ * Copyright (c) 2007, 2009, 2010 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -55,9 +55,6 @@ namespace paludis
* \ingroup g_data_structures
* \nosubgrouping
*/
-#ifndef PALUDIS_NO_DOUBLE_TEMPLATE
- template <>
-#endif
template <typename T_, typename C_>
struct Implementation<Set<T_, C_> >
{