From a9e9d97e124c30b197de241de304c62c3c40b701 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Tue, 4 Feb 2025 07:24:20 -0700 Subject: [PATCH] Remove a cycle in header files by undoing a MSVC hack. --- include/deal.II/lac/la_parallel_block_vector.h | 4 ---- source/lac/la_parallel_block_vector.cc | 17 +++++------------ 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/include/deal.II/lac/la_parallel_block_vector.h b/include/deal.II/lac/la_parallel_block_vector.h index 838f44b5ef..1ffede99de 100644 --- a/include/deal.II/lac/la_parallel_block_vector.h +++ b/include/deal.II/lac/la_parallel_block_vector.h @@ -837,8 +837,4 @@ struct is_serial_vector> DEAL_II_NAMESPACE_CLOSE -#ifdef DEAL_II_MSVC -# include -#endif - #endif diff --git a/source/lac/la_parallel_block_vector.cc b/source/lac/la_parallel_block_vector.cc index 8d3c8bbbe2..d38ab1982b 100644 --- a/source/lac/la_parallel_block_vector.cc +++ b/source/lac/la_parallel_block_vector.cc @@ -19,12 +19,7 @@ DEAL_II_NAMESPACE_OPEN - -// disable instantiation for MSVC for now because of a compiler bug, -// see https://github.com/dealii/dealii/issues/2875 -#ifndef DEAL_II_MSVC - -# include "la_parallel_block_vector.inst" +#include "la_parallel_block_vector.inst" // do a few functions that currently don't fit the scheme because they have // two template arguments that need to be different (the case of same @@ -35,17 +30,15 @@ namespace LinearAlgebra { namespace distributed { -# define TEMPL_COPY_CONSTRUCTOR(S1, S2) \ - template BlockVector &BlockVector::operator= \ - (const BlockVector &) +#define TEMPL_COPY_CONSTRUCTOR(S1, S2) \ + template BlockVector &BlockVector::operator= \ + (const BlockVector &) TEMPL_COPY_CONSTRUCTOR(double, float); TEMPL_COPY_CONSTRUCTOR(float, double); -# undef TEMPL_COPY_CONSTRUCTOR +#undef TEMPL_COPY_CONSTRUCTOR } // namespace distributed } // namespace LinearAlgebra -#endif // ! DEAL_II_MSVC - DEAL_II_NAMESPACE_CLOSE -- 2.39.5