From e0a6afcdd852a3edec6e6518ec1f6ddf42de880c Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Mon, 16 Oct 2023 17:37:33 -0600 Subject: [PATCH] Work around an issue with the clang CUDA compiler. --- .../vector_tools_constraints.templates.h | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/include/deal.II/numerics/vector_tools_constraints.templates.h b/include/deal.II/numerics/vector_tools_constraints.templates.h index b5a2f68186..9785674a98 100644 --- a/include/deal.II/numerics/vector_tools_constraints.templates.h +++ b/include/deal.II/numerics/vector_tools_constraints.templates.h @@ -242,15 +242,17 @@ namespace VectorTools constraining_vector[0]) > std::numeric_limits::epsilon()) constraint_entries.emplace_back( - dof_indices.dof_indices[1], - -constraining_vector[1] / constraining_vector[0]); + std::make_pair(dof_indices.dof_indices[1], + -constraining_vector[1] / + constraining_vector[0])); if (std::fabs(constraining_vector[2] / constraining_vector[0]) > std::numeric_limits::epsilon()) constraint_entries.emplace_back( - dof_indices.dof_indices[2], - -constraining_vector[2] / constraining_vector[0]); + std::make_pair(dof_indices.dof_indices[2], + -constraining_vector[2] / + constraining_vector[0])); const double normalized_inhomogeneity = (std::fabs(inhomogeneity / constraining_vector[0]) > @@ -275,15 +277,17 @@ namespace VectorTools constraining_vector[1]) > std::numeric_limits::epsilon()) constraint_entries.emplace_back( - dof_indices.dof_indices[0], - -constraining_vector[0] / constraining_vector[1]); + std::make_pair(dof_indices.dof_indices[0], + -constraining_vector[0] / + constraining_vector[1])); if (std::fabs(constraining_vector[2] / constraining_vector[1]) > std::numeric_limits::epsilon()) constraint_entries.emplace_back( - dof_indices.dof_indices[2], - -constraining_vector[2] / constraining_vector[1]); + std::make_pair(dof_indices.dof_indices[2], + -constraining_vector[2] / + constraining_vector[1])); const double normalized_inhomogeneity = (std::fabs(inhomogeneity / constraining_vector[1]) > @@ -305,15 +309,17 @@ namespace VectorTools constraining_vector[2]) > std::numeric_limits::epsilon()) constraint_entries.emplace_back( - dof_indices.dof_indices[0], - -constraining_vector[0] / constraining_vector[2]); + std::make_pair(dof_indices.dof_indices[0], + -constraining_vector[0] / + constraining_vector[2])); if (std::fabs(constraining_vector[1] / constraining_vector[2]) > std::numeric_limits::epsilon()) constraint_entries.emplace_back( - dof_indices.dof_indices[1], - -constraining_vector[1] / constraining_vector[2]); + std::make_pair(dof_indices.dof_indices[1], + -constraining_vector[1] / + constraining_vector[2])); const double normalized_inhomogeneity = (std::fabs(inhomogeneity / constraining_vector[2]) > -- 2.39.5