From: Matthias Maier Date: Mon, 28 May 2018 02:58:44 +0000 (-0500) Subject: Workaround: Add compatibility instantiations X-Git-Tag: v9.1.0-rc1~1067^2~32 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=beaa36f45c747adeb371262ac0158ee60a990084;p=dealii.git Workaround: Add compatibility instantiations --- diff --git a/source/lac/affine_constraints.cc b/source/lac/affine_constraints.cc index aef54fb03a..39c51d7dbc 100644 --- a/source/lac/affine_constraints.cc +++ b/source/lac/affine_constraints.cc @@ -21,17 +21,6 @@ DEAL_II_NAMESPACE_OPEN #include "affine_constraints.inst" -/* - * FIXME: This mixed variant is needed by the multigrid - it currently only - * supports AffineConstraints. If someone has the patience to - * templateify the 10 custom wrapper classes around AffineConstraints, - * please go ahead, fix the multigrid classes and remove this - * instantiation: - */ -template void -dealii::AffineConstraints::condense>( - dealii::BlockVector &) const; - /* * Note: You probably do not want to add your custom instantiation down * here but use affine_constraints.inst.in instead. We use the following diff --git a/source/lac/affine_constraints.inst.in b/source/lac/affine_constraints.inst.in index 5d47c6796d..ad54c969d0 100644 --- a/source/lac/affine_constraints.inst.in +++ b/source/lac/affine_constraints.inst.in @@ -336,3 +336,16 @@ for (V : EXTERNAL_PARALLEL_VECTORS) template void AffineConstraints::set_zero(V &) const; } + + +// +// FIXME: These mixed variants are needed for multigrid and matrix free. +// + +for (T : DEAL_II_VEC_TEMPLATES) + { + template void dealii::AffineConstraints::condense>( + T &) const; + template void dealii::AffineConstraints::distribute>( + T &) const; + }