From: Wolfgang Bangerth Date: Thu, 15 Jul 2010 17:21:56 +0000 (+0000) Subject: Make things compiler with gcc 3.4.0. X-Git-Tag: v8.0.0~5816 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2bac780a75a8d325bd56a425c69d1272c316167c;p=dealii.git Make things compiler with gcc 3.4.0. git-svn-id: https://svn.dealii.org/trunk@21504 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/source/numerics/matrices.cc b/deal.II/deal.II/source/numerics/matrices.cc index 2331b64c39..5993e9513e 100644 --- a/deal.II/deal.II/source/numerics/matrices.cc +++ b/deal.II/deal.II/source/numerics/matrices.cc @@ -1704,11 +1704,16 @@ void MatrixCreator::create_laplace_matrix (const Mapping &m copy_data.cell_rhs.reinit (assembler_data.fe_collection.max_dofs_per_cell()); copy_data.dof_indices.resize (assembler_data.fe_collection.max_dofs_per_cell()); + void (*copy_local_to_global) (const internal::MatrixCreator::AssemblerData::CopyData &, + SparseMatrix *, + Vector *) + = &internal::MatrixCreator:: + copy_local_to_global, Vector >; + WorkStream::run (dof.begin_active(), static_cast::active_cell_iterator>(dof.end()), &internal::MatrixCreator::laplace_assembler::active_cell_iterator>, - std_cxx1x::bind (&internal::MatrixCreator:: - copy_local_to_global, Vector >, + std_cxx1x::bind (copy_local_to_global, _1, &matrix, (Vector*)0), assembler_data, copy_data); @@ -1753,11 +1758,17 @@ void MatrixCreator::create_laplace_matrix (const Mapping &m assembler_data.fe_collection.max_dofs_per_cell()); copy_data.cell_rhs.reinit (assembler_data.fe_collection.max_dofs_per_cell()); copy_data.dof_indices.resize (assembler_data.fe_collection.max_dofs_per_cell()); + + void (*copy_local_to_global) (const internal::MatrixCreator::AssemblerData::CopyData &, + SparseMatrix *, + Vector *) + = &internal::MatrixCreator:: + copy_local_to_global, Vector >; + WorkStream::run (dof.begin_active(), static_cast::active_cell_iterator>(dof.end()), &internal::MatrixCreator::laplace_assembler::active_cell_iterator>, - std_cxx1x::bind (&internal::MatrixCreator:: - copy_local_to_global, Vector >, + std_cxx1x::bind (copy_local_to_global, _1, &matrix, &rhs_vector), assembler_data, copy_data); @@ -1804,11 +1815,16 @@ void MatrixCreator::create_laplace_matrix (const hp::MappingCollection *, + Vector *) + = &internal::MatrixCreator:: + copy_local_to_global, Vector >; + WorkStream::run (dof.begin_active(), static_cast::active_cell_iterator>(dof.end()), &internal::MatrixCreator::laplace_assembler::active_cell_iterator>, - std_cxx1x::bind (&internal::MatrixCreator:: - copy_local_to_global, Vector >, + std_cxx1x::bind (copy_local_to_global, _1, &matrix, (Vector*)0), assembler_data, copy_data); @@ -1854,11 +1870,16 @@ void MatrixCreator::create_laplace_matrix (const hp::MappingCollection *, + Vector *) + = &internal::MatrixCreator:: + copy_local_to_global, Vector >; + WorkStream::run (dof.begin_active(), static_cast::active_cell_iterator>(dof.end()), &internal::MatrixCreator::laplace_assembler::active_cell_iterator>, - std_cxx1x::bind (&internal::MatrixCreator:: - copy_local_to_global, Vector >, + std_cxx1x::bind (copy_local_to_global, _1, &matrix, &rhs_vector), assembler_data, copy_data); diff --git a/deal.II/doc/news/changes.h b/deal.II/doc/news/changes.h index a9ee782b6c..22a1a6f448 100644 --- a/deal.II/doc/news/changes.h +++ b/deal.II/doc/news/changes.h @@ -38,6 +38,15 @@ inconvenience this causes.

General

    +
  1. +

    Fixed: GCC version 3.4.0 failed to compile the file + deal.II/source/numerics/matrices.cc with + an internal compiler error. This has + now been worked around. +
    + (WB 2010/07/15) +

    +
  2. Fixed: A problem in the Makefiles caused error messages when building under CygWin.