
Module: ppl/ppl Branch: master Commit: 9f12958e6c82d30c1af400c6e786d8ff60cc6893 URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=9f12958e6c82d...
Author: Roberto Bagnara roberto.bagnara@bugseng.com Date: Sun Dec 21 22:29:58 2014 +0100
The interface file shall contain declarations only. Fixes violations of rule EP1.31 detected by ECLAIR.
---
src/BDS_Status.cc | 40 ++++++++++++++++++++++++++++++++++++++++ src/BDS_Status_inlines.hh | 10 +++++----- src/Box_Status.cc | 39 +++++++++++++++++++++++++++++++++++++++ src/Box_Status_inlines.hh | 8 ++++---- src/Makefile.am | 3 +++ src/Og_Status.cc | 39 +++++++++++++++++++++++++++++++++++++++ src/Og_Status_inlines.hh | 8 ++++---- 7 files changed, 134 insertions(+), 13 deletions(-)
diff --git a/src/BDS_Status.cc b/src/BDS_Status.cc new file mode 100644 index 0000000..81e979e --- /dev/null +++ b/src/BDS_Status.cc @@ -0,0 +1,40 @@ +/* BD_Shape<T>::Status class implementation: data objects. + Copyright (C) 2001-2010 Roberto Bagnara bagnara@cs.unipr.it + Copyright (C) 2010-2014 BUGSENG srl (http://bugseng.com) + +This file is part of the Parma Polyhedra Library (PPL). + +The PPL is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 3 of the License, or (at your +option) any later version. + +The PPL is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software Foundation, +Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA. + +For the most up-to-date information see the Parma Polyhedra Library +site: http://bugseng.com/products/ppl/ . */ + +namespace Parma_Polyhedra_Library { + +namespace Implementation { + +namespace BD_Shapes { + +// These are the keywords that indicate the individual assertions. +const char* zero_dim_univ = "ZE"; +const char* empty = "EM"; +const char* sp_closed = "SPC"; +const char* sp_reduced = "SPR"; + +} // namespace BD_Shapes + +} // namespace Implementation + +} // namespace Parma_Polyhedra_Library diff --git a/src/BDS_Status_inlines.hh b/src/BDS_Status_inlines.hh index 8fade89..7a17cee 100644 --- a/src/BDS_Status_inlines.hh +++ b/src/BDS_Status_inlines.hh @@ -189,10 +189,10 @@ namespace Implementation { namespace BD_Shapes {
// These are the keywords that indicate the individual assertions. -const std::string zero_dim_univ = "ZE"; -const std::string empty = "EM"; -const std::string sp_closed = "SPC"; -const std::string sp_reduced = "SPR"; +extern const char* zero_dim_univ; +extern const char* empty; +extern const char* sp_closed; +extern const char* sp_reduced; const char yes = '+'; const char no = '-'; const char separator = ' '; @@ -205,7 +205,7 @@ const char separator = ' '; is on; it is set to <CODE>false</CODE> otherwise. */ inline bool -get_field(std::istream& s, const std::string& keyword, bool& positive) { +get_field(std::istream& s, const char* keyword, bool& positive) { std::string str; if (!(s >> str) || (str[0] != yes && str[0] != no) diff --git a/src/Box_Status.cc b/src/Box_Status.cc new file mode 100644 index 0000000..b12709d --- /dev/null +++ b/src/Box_Status.cc @@ -0,0 +1,39 @@ +/* Box<ITV>::Status class implementation: data objects. + Copyright (C) 2001-2010 Roberto Bagnara bagnara@cs.unipr.it + Copyright (C) 2010-2014 BUGSENG srl (http://bugseng.com) + +This file is part of the Parma Polyhedra Library (PPL). + +The PPL is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 3 of the License, or (at your +option) any later version. + +The PPL is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software Foundation, +Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA. + +For the most up-to-date information see the Parma Polyhedra Library +site: http://bugseng.com/products/ppl/ . */ + +namespace Parma_Polyhedra_Library { + +namespace Implementation { + +namespace Boxes { + +// These are the keywords that indicate the individual assertions. +const char* empty_up_to_date = "EUP"; +const char* empty = "EM"; +const char* universe = "UN"; + +} // namespace Boxes + +} // namespace Implementation + +} // namespace Parma_Polyhedra_Library diff --git a/src/Box_Status_inlines.hh b/src/Box_Status_inlines.hh index 99c6289..de06585 100644 --- a/src/Box_Status_inlines.hh +++ b/src/Box_Status_inlines.hh @@ -155,9 +155,9 @@ namespace Implementation { namespace Boxes {
// These are the keywords that indicate the individual assertions. -const std::string empty_up_to_date = "EUP"; -const std::string empty = "EM"; -const std::string universe = "UN"; +extern const char* empty_up_to_date; +extern const char* empty; +extern const char* universe; const char yes = '+'; const char no = '-'; const char separator = ' '; @@ -170,7 +170,7 @@ const char separator = ' '; is on; it is set to <CODE>false</CODE> otherwise. */ inline bool -get_field(std::istream& s, const std::string& keyword, bool& positive) { +get_field(std::istream& s, const char* keyword, bool& positive) { std::string str; if (!(s >> str) || (str[0] != yes && str[0] != no) diff --git a/src/Makefile.am b/src/Makefile.am index 963e58b..bcfb73b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -484,6 +484,9 @@ checked.cc \ Checked_Number.cc \ Float.cc \ fpu-ia32.cc \ +BDS_Status.cc \ +Box_Status.cc \ +Og_Status.cc \ Concrete_Expression.cc \ Constraint.cc \ Constraint_System.cc \ diff --git a/src/Og_Status.cc b/src/Og_Status.cc new file mode 100644 index 0000000..b5314f6 --- /dev/null +++ b/src/Og_Status.cc @@ -0,0 +1,39 @@ +/* BD_Shape<T>::Status class implementation: data objects. + Copyright (C) 2001-2010 Roberto Bagnara bagnara@cs.unipr.it + Copyright (C) 2010-2014 BUGSENG srl (http://bugseng.com) + +This file is part of the Parma Polyhedra Library (PPL). + +The PPL is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 3 of the License, or (at your +option) any later version. + +The PPL is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software Foundation, +Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA. + +For the most up-to-date information see the Parma Polyhedra Library +site: http://bugseng.com/products/ppl/ . */ + +namespace Parma_Polyhedra_Library { + +namespace Implementation { + +namespace Octagonal_Shapes { + +// These are the keywords that indicate the individual assertions. +const char* zero_dim_univ = "ZE"; +const char* empty = "EM"; +const char* strong_closed = "SC"; + +} // namespace Octagonal_Shapes + +} // namespace Implementation + +} // namespace Parma_Polyhedra_Library diff --git a/src/Og_Status_inlines.hh b/src/Og_Status_inlines.hh index f29ce12..090947e 100644 --- a/src/Og_Status_inlines.hh +++ b/src/Og_Status_inlines.hh @@ -153,9 +153,9 @@ namespace Implementation {
namespace Octagonal_Shapes { // These are the keywords that indicate the individual assertions. -const std::string zero_dim_univ = "ZE"; -const std::string empty = "EM"; -const std::string strong_closed = "SC"; +extern const char* zero_dim_univ; +extern const char* empty; +extern const char* strong_closed; const char yes = '+'; const char no = '-'; const char separator = ' '; @@ -168,7 +168,7 @@ const char separator = ' '; is on; it is set to <CODE>false</CODE> otherwise. */ inline bool -get_field(std::istream& s, const std::string& keyword, bool& positive) { +get_field(std::istream& s, const char* keyword, bool& positive) { std::string str; if (!(s >> str) || (str[0] != yes && str[0] != no)