From 18cbcb83d421ee15233c5ab4de1b2f52f35b4406 Mon Sep 17 00:00:00 2001 From: wolf Date: Wed, 14 Mar 2001 14:14:56 +0000 Subject: [PATCH] Work around problems with gcc3 git-svn-id: https://svn.dealii.org/branches/Branch-3-1@4199 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/include/grid/grid_reordering.h | 7 +++++++ deal.II/deal.II/include/grid/tria_accessor.h | 4 +--- deal.II/deal.II/source/grid/grid_reordering.cc | 14 ++++++++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/deal.II/deal.II/include/grid/grid_reordering.h b/deal.II/deal.II/include/grid/grid_reordering.h index 2d200b61b7..8ac03fec3d 100644 --- a/deal.II/deal.II/include/grid/grid_reordering.h +++ b/deal.II/deal.II/include/grid/grid_reordering.h @@ -662,6 +662,13 @@ class GridReordering : private GridReorderingInfo */ Cell (const CellData &cd, const unsigned int cell_no); + + /** + * Copy constructor to work + * around a bug in a gcc3.0 + * snapshot. + */ + Cell (const Cell &); /** * Count the existing neighbors diff --git a/deal.II/deal.II/include/grid/tria_accessor.h b/deal.II/deal.II/include/grid/tria_accessor.h index 8fe0b7ed4b..b51db397d1 100644 --- a/deal.II/deal.II/include/grid/tria_accessor.h +++ b/deal.II/deal.II/include/grid/tria_accessor.h @@ -1986,10 +1986,8 @@ class CellAccessor : public TriaObjectAccessor -// if in optimized mode: include more templates -#ifndef DEBUG +// include more templates in debug and optimized mode # include "tria_accessor.templates.h" -#endif #endif diff --git a/deal.II/deal.II/source/grid/grid_reordering.cc b/deal.II/deal.II/source/grid/grid_reordering.cc index 97f9034dee..04eeb04447 100644 --- a/deal.II/deal.II/source/grid/grid_reordering.cc +++ b/deal.II/deal.II/source/grid/grid_reordering.cc @@ -67,6 +67,20 @@ GridReordering::Cell::Cell (const CellData &cd, }; +template +GridReordering::Cell::Cell (const Cell &c) : + CellData (c), + cell_no(c.cell_no), + track_back_to_cell(c.track_back_to_cell) +{ + for (unsigned int i=0; i::rotational_states_of_cells; ++i) + for (unsigned int j=0; j::faces_per_cell; ++j) + faces[i][j]=c.faces[i][j]; + + for (unsigned int i=0; i::faces_per_cell; ++i) + neighbors[i]=c.neighbors[i]; +} + template inline -- 2.39.5