aboutsummaryrefslogtreecommitdiff
path: root/paludis/resolver
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-06-30 11:42:19 +0100
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-06-30 12:33:02 +0100
commite720af0d20461dfe8e17c3d61d2234b4e00658d1 (patch)
tree561f9ddbbc6fef7d998f5c8c1bd87cf68ab7f163 /paludis/resolver
parent73d0cd4af1cb18c13f697b8486b773ed5c9412d9 (diff)
downloadpaludis-e720af0d20461dfe8e17c3d61d2234b4e00658d1.tar.gz
paludis-e720af0d20461dfe8e17c3d61d2234b4e00658d1.tar.xz
Require working 'extern template' support
Detect compilers that're broken with -O3. Use 'extern template' unconditionally.
Diffstat (limited to 'paludis/resolver')
-rw-r--r--paludis/resolver/change_by_resolvent.hh2
-rw-r--r--paludis/resolver/constraint.hh2
-rw-r--r--paludis/resolver/decision.hh2
-rw-r--r--paludis/resolver/decisions.hh4
-rw-r--r--paludis/resolver/job_list.hh4
-rw-r--r--paludis/resolver/job_requirements.hh2
-rw-r--r--paludis/resolver/nag.hh2
-rw-r--r--paludis/resolver/reason.hh2
-rw-r--r--paludis/resolver/resolutions_by_resolvent.hh2
-rw-r--r--paludis/resolver/resolvent.hh2
-rw-r--r--paludis/resolver/spec_rewriter.hh2
-rw-r--r--paludis/resolver/strongly_connected_component.hh2
-rw-r--r--paludis/resolver/suggest_restart.hh4
13 files changed, 1 insertions, 31 deletions
diff --git a/paludis/resolver/change_by_resolvent.hh b/paludis/resolver/change_by_resolvent.hh
index 8a1119c30..7ff528cf6 100644
--- a/paludis/resolver/change_by_resolvent.hh
+++ b/paludis/resolver/change_by_resolvent.hh
@@ -48,10 +48,8 @@ namespace paludis
};
}
-#ifdef PALUDIS_HAVE_EXTERN_TEMPLATE
extern template class Sequence<resolver::ChangeByResolvent>;
extern template class WrappedForwardIterator<Sequence<resolver::ChangeByResolvent>::ConstIteratorTag, const resolver::ChangeByResolvent>;
-#endif
}
#endif
diff --git a/paludis/resolver/constraint.hh b/paludis/resolver/constraint.hh
index c6b99cfcb..6d8a7e97e 100644
--- a/paludis/resolver/constraint.hh
+++ b/paludis/resolver/constraint.hh
@@ -87,11 +87,9 @@ namespace paludis
};
}
-#ifdef PALUDIS_HAVE_EXTERN_TEMPLATE
extern template class PrivateImplementationPattern<resolver::Constraints>;
extern template class WrappedForwardIterator<resolver::Constraints::ConstIteratorTag,
const std::tr1::shared_ptr<const resolver::Constraint> >;
-#endif
}
#endif
diff --git a/paludis/resolver/decision.hh b/paludis/resolver/decision.hh
index 38c132822..6a386c1a9 100644
--- a/paludis/resolver/decision.hh
+++ b/paludis/resolver/decision.hh
@@ -265,14 +265,12 @@ namespace paludis
};
}
-#ifdef PALUDIS_HAVE_EXTERN_TEMPLATE
extern template class PrivateImplementationPattern<resolver::NothingNoChangeDecision>;
extern template class PrivateImplementationPattern<resolver::ExistingNoChangeDecision>;
extern template class PrivateImplementationPattern<resolver::ChangesToMakeDecision>;
extern template class PrivateImplementationPattern<resolver::UnableToMakeDecision>;
extern template class PrivateImplementationPattern<resolver::RemoveDecision>;
extern template class PrivateImplementationPattern<resolver::BreakDecision>;
-#endif
}
diff --git a/paludis/resolver/decisions.hh b/paludis/resolver/decisions.hh
index 939abd7af..406c01ccb 100644
--- a/paludis/resolver/decisions.hh
+++ b/paludis/resolver/decisions.hh
@@ -74,16 +74,13 @@ namespace paludis
static const std::tr1::shared_ptr<Decisions> deserialise(Deserialisation & d) PALUDIS_ATTRIBUTE((warn_unused_result));
};
-#ifdef PALUDIS_HAVE_EXTERN_TEMPLATE
extern template class Decisions<UnableToMakeDecision>;
extern template class Decisions<ChangesToMakeDecision>;
extern template class Decisions<ChangeOrRemoveDecision>;
extern template class Decisions<ConfirmableDecision>;
extern template class Decisions<ChangeOrRemoveDecision, std::tr1::shared_ptr<const OrdererNotes> >;
-#endif
}
-#ifdef PALUDIS_HAVE_EXTERN_TEMPLATE
extern template class WrappedForwardIterator<resolver::Decisions<resolver::UnableToMakeDecision>::ConstIteratorTag,
const std::tr1::shared_ptr<const resolver::UnableToMakeDecision> >;
extern template class WrappedForwardIterator<resolver::Decisions<resolver::ChangesToMakeDecision>::ConstIteratorTag,
@@ -97,7 +94,6 @@ namespace paludis
const std::pair<
std::tr1::shared_ptr<const resolver::ChangeOrRemoveDecision>,
std::tr1::shared_ptr<const resolver::OrdererNotes> > >;
-#endif
}
#endif
diff --git a/paludis/resolver/job_list.hh b/paludis/resolver/job_list.hh
index a2bc4641c..3765719cb 100644
--- a/paludis/resolver/job_list.hh
+++ b/paludis/resolver/job_list.hh
@@ -59,18 +59,14 @@ namespace paludis
void serialise(Serialiser &) const;
};
-#ifdef PALUDIS_HAVE_EXTERN_TEMPLATE
extern template class JobList<PretendJob>;
extern template class JobList<ExecuteJob>;
-#endif
}
-#ifdef PALUDIS_HAVE_EXTERN_TEMPLATE
extern template class WrappedForwardIterator<resolver::JobListConstIteratorTag<resolver::PretendJob>,
const std::tr1::shared_ptr<resolver::PretendJob> >;
extern template class WrappedForwardIterator<resolver::JobListConstIteratorTag<resolver::ExecuteJob>,
const std::tr1::shared_ptr<resolver::ExecuteJob> >;
-#endif
}
#endif
diff --git a/paludis/resolver/job_requirements.hh b/paludis/resolver/job_requirements.hh
index cd3177777..114f05169 100644
--- a/paludis/resolver/job_requirements.hh
+++ b/paludis/resolver/job_requirements.hh
@@ -48,10 +48,8 @@ namespace paludis
};
}
-#ifdef PALUDIS_HAVE_EXTERN_TEMPLATE
extern template class Sequence<resolver::JobRequirement>;
extern template class WrappedForwardIterator<Sequence<resolver::JobRequirement>::ConstIteratorTag, const resolver::JobRequirement>;
-#endif
}
#endif
diff --git a/paludis/resolver/nag.hh b/paludis/resolver/nag.hh
index 714a553e7..9a8003964 100644
--- a/paludis/resolver/nag.hh
+++ b/paludis/resolver/nag.hh
@@ -99,11 +99,9 @@ namespace paludis
};
}
-#ifdef PALUDIS_HAVE_EXTERN_TEMPLATE
extern template class WrappedForwardIterator<resolver::NAG::EdgesFromConstIteratorTag,
const std::pair<const resolver::NAGIndex, resolver::NAGEdgeProperties> >;
extern template class WrappedForwardIterator<resolver::NAG::NodesConstIteratorTag, const resolver::NAGIndex>;
-#endif
}
#endif
diff --git a/paludis/resolver/reason.hh b/paludis/resolver/reason.hh
index b041b832c..759505df7 100644
--- a/paludis/resolver/reason.hh
+++ b/paludis/resolver/reason.hh
@@ -157,12 +157,10 @@ namespace paludis
};
}
-#ifdef PALUDIS_HAVE_EXTERN_TEMPLATE
extern template class PrivateImplementationPattern<resolver::DependencyReason>;
extern template class PrivateImplementationPattern<resolver::DependentReason>;
extern template class PrivateImplementationPattern<resolver::WasUsedByReason>;
extern template class PrivateImplementationPattern<resolver::SetReason>;
-#endif
}
diff --git a/paludis/resolver/resolutions_by_resolvent.hh b/paludis/resolver/resolutions_by_resolvent.hh
index cdb6dc6ab..98f4b2634 100644
--- a/paludis/resolver/resolutions_by_resolvent.hh
+++ b/paludis/resolver/resolutions_by_resolvent.hh
@@ -54,10 +54,8 @@ namespace paludis
};
}
-#ifdef PALUDIS_HAVE_EXTERN_TEMPLATE
extern template class WrappedForwardIterator<resolver::ResolutionsByResolvent::ConstIteratorTag,
const std::tr1::shared_ptr<resolver::Resolution> >;
-#endif
}
#endif
diff --git a/paludis/resolver/resolvent.hh b/paludis/resolver/resolvent.hh
index 0ab218c8d..1c986203f 100644
--- a/paludis/resolver/resolvent.hh
+++ b/paludis/resolver/resolvent.hh
@@ -67,10 +67,8 @@ namespace paludis
};
}
-#ifdef PALUDIS_HAVE_EXTERN_TEMPLATE
extern template class Sequence<resolver::Resolvent>;
extern template class WrappedForwardIterator<Sequence<resolver::Resolvent>::ConstIteratorTag, const resolver::Resolvent>;
-#endif
}
#endif
diff --git a/paludis/resolver/spec_rewriter.hh b/paludis/resolver/spec_rewriter.hh
index df0f53108..749f658fe 100644
--- a/paludis/resolver/spec_rewriter.hh
+++ b/paludis/resolver/spec_rewriter.hh
@@ -63,9 +63,7 @@ namespace paludis
};
}
-#ifdef PALUDIS_HAVE_EXTERN_TEMPLATE
extern template class PrivateImplementationPattern<resolver::SpecRewriter>;
-#endif
}
diff --git a/paludis/resolver/strongly_connected_component.hh b/paludis/resolver/strongly_connected_component.hh
index 4533930be..9edca2f7c 100644
--- a/paludis/resolver/strongly_connected_component.hh
+++ b/paludis/resolver/strongly_connected_component.hh
@@ -47,14 +47,12 @@ namespace paludis
};
}
-#ifdef PALUDIS_HAVE_EXTERN_TEMPLATE
extern template class Set<resolver::NAGIndex>;
extern template class WrappedForwardIterator<Set<resolver::NAGIndex>::ConstIteratorTag, const resolver::NAGIndex>;
extern template class WrappedOutputIterator<Set<resolver::NAGIndex>::InserterTag, resolver::NAGIndex>;
extern template class Sequence<resolver::StronglyConnectedComponent>;
extern template class WrappedForwardIterator<Sequence<resolver::StronglyConnectedComponent>::ConstIteratorTag, const resolver::StronglyConnectedComponent>;
-#endif
}
#endif
diff --git a/paludis/resolver/suggest_restart.hh b/paludis/resolver/suggest_restart.hh
index 8a5315c04..a261a0477 100644
--- a/paludis/resolver/suggest_restart.hh
+++ b/paludis/resolver/suggest_restart.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009 Ciaran McCreesh
+ * Copyright (c) 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
@@ -54,9 +54,7 @@ namespace paludis
};
}
-#ifdef PALUDIS_HAVE_EXTERN_TEMPLATE
extern template class PrivateImplementationPattern<resolver::SuggestRestart>;
-#endif
}
#endif