From: Timo Heister Date: Tue, 17 Jan 2017 22:28:07 +0000 (-0500) Subject: split instantiations X-Git-Tag: v8.5.0-rc1~226^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F3820%2Fhead;p=dealii.git split instantiations This splits some large files to compile with <2.5GB RAM with gcc again. gcc 4.8.4 and using ulimit -v 2500000 except for the linking step. --- diff --git a/source/fe/mapping_fe_field.cc b/source/fe/mapping_fe_field.cc index 754c144111..5fa1a358d2 100644 --- a/source/fe/mapping_fe_field.cc +++ b/source/fe/mapping_fe_field.cc @@ -1990,6 +1990,10 @@ MappingFEField::update_internal_dofs } // explicit instantiations +#define SPLIT_INSTANTIATIONS_COUNT 2 +#ifndef SPLIT_INSTANTIATIONS_INDEX +#define SPLIT_INSTANTIATIONS_INDEX 0 +#endif #include "mapping_fe_field.inst" diff --git a/source/fe/mapping_fe_field_inst2.cc b/source/fe/mapping_fe_field_inst2.cc new file mode 100644 index 0000000000..efe9d52d0b --- /dev/null +++ b/source/fe/mapping_fe_field_inst2.cc @@ -0,0 +1,18 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2017 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + + +#define SPLIT_INSTANTIATIONS_INDEX 1 +#include "mapping_fe_field.cc" diff --git a/source/numerics/vector_tools_project.cc b/source/numerics/vector_tools_project.cc index 3fd0d4b8f3..5848b27b53 100644 --- a/source/numerics/vector_tools_project.cc +++ b/source/numerics/vector_tools_project.cc @@ -1,6 +1,6 @@ // --------------------------------------------------------------------- // -// Copyright (C) 1998 - 2014 by the deal.II authors +// Copyright (C) 1998 - 2017 by the deal.II authors // // This file is part of the deal.II library. // @@ -19,6 +19,10 @@ DEAL_II_NAMESPACE_OPEN // ---------------------------- explicit instantiations -------------------- +#define SPLIT_INSTANTIATIONS_COUNT 3 +#ifndef SPLIT_INSTANTIATIONS_INDEX +#define SPLIT_INSTANTIATIONS_INDEX 0 +#endif #include "vector_tools_project.inst" DEAL_II_NAMESPACE_CLOSE diff --git a/source/numerics/vector_tools_project_inst2.cc b/source/numerics/vector_tools_project_inst2.cc new file mode 100644 index 0000000000..cc2bb87955 --- /dev/null +++ b/source/numerics/vector_tools_project_inst2.cc @@ -0,0 +1,18 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2017 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + + +#define SPLIT_INSTANTIATIONS_INDEX 1 +#include "vector_tools_project.cc" diff --git a/source/numerics/vector_tools_project_inst3.cc b/source/numerics/vector_tools_project_inst3.cc new file mode 100644 index 0000000000..37ca69f25c --- /dev/null +++ b/source/numerics/vector_tools_project_inst3.cc @@ -0,0 +1,18 @@ +// --------------------------------------------------------------------- +// +// Copyright (C) 2017 by the deal.II authors +// +// This file is part of the deal.II library. +// +// The deal.II library is free software; you can use it, redistribute +// it, and/or modify it under the terms of the GNU Lesser General +// Public License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// The full text of the license can be found in the file LICENSE at +// the top level of the deal.II distribution. +// +// --------------------------------------------------------------------- + + +#define SPLIT_INSTANTIATIONS_INDEX 2 +#include "vector_tools_project.cc"