[PPL-devel] [GIT] ppl/ppl(master): No need to depend on PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK for auto initialization .
Roberto Bagnara
bagnara at cs.unipr.it
Wed Oct 1 13:56:55 CEST 2014
Module: ppl/ppl
Branch: master
Commit: e7717fe6c534874f4eb8752718c8e56c24736c1a
URL: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commit;h=e7717fe6c534874f4eb8752718c8e56c24736c1a
Author: Roberto Bagnara <bagnara at cs.unipr.it>
Date: Wed Oct 1 13:55:27 2014 +0200
No need to depend on PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK for auto initialization.
(Thanks to Keith Clifford.)
---
demos/ppl_lcdd/ppl_lcdd.cc | 6 ------
demos/ppl_lpsol/ppl_lpsol.c | 6 ------
demos/ppl_pips/ppl_pips.cc | 6 ------
src/Init.cc | 7 +------
src/set_GMP_memory_alloc_funcs.cc | 7 +------
tests/Polyhedron/memory1.cc | 17 -----------------
6 files changed, 2 insertions(+), 47 deletions(-)
diff --git a/demos/ppl_lcdd/ppl_lcdd.cc b/demos/ppl_lcdd/ppl_lcdd.cc
index 07ca09e..d4465b6 100755
--- a/demos/ppl_lcdd/ppl_lcdd.cc
+++ b/demos/ppl_lcdd/ppl_lcdd.cc
@@ -45,12 +45,6 @@ namespace PPL = Parma_Polyhedra_Library;
typedef PPL::C_Polyhedron POLYHEDRON_TYPE;
-#if !PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK
-extern "C" void
-ppl_set_GMP_memory_allocation_functions(void) {
-}
-#endif
-
#elif defined(USE_POLKA)
#include <ppl-config.h>
diff --git a/demos/ppl_lpsol/ppl_lpsol.c b/demos/ppl_lpsol/ppl_lpsol.c
index c0f10ef..52d1cce 100644
--- a/demos/ppl_lpsol/ppl_lpsol.c
+++ b/demos/ppl_lpsol/ppl_lpsol.c
@@ -1313,12 +1313,6 @@ error_handler(enum ppl_enum_error_code code,
fatal("PPL error code %d: %s", code, description);
}
-#if !PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK
-void
-ppl_set_GMP_memory_allocation_functions(void) {
-}
-#endif
-
#if defined(NDEBUG)
#if !(defined(PPL_GLPK_HAS_GLP_TERM_OUT) && defined(GLP_OFF))
diff --git a/demos/ppl_pips/ppl_pips.cc b/demos/ppl_pips/ppl_pips.cc
index 2ab9dc3..1259d80 100644
--- a/demos/ppl_pips/ppl_pips.cc
+++ b/demos/ppl_pips/ppl_pips.cc
@@ -41,12 +41,6 @@ namespace PPL = Parma_Polyhedra_Library;
typedef PPL::C_Polyhedron POLYHEDRON_TYPE;
-#if !PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK
-extern "C" void
-ppl_set_GMP_memory_allocation_functions(void) {
-}
-#endif
-
#elif defined(USE_PIPLIB)
#error "PipLib not supported yet"
diff --git a/src/Init.cc b/src/Init.cc
index 0daaab0..1b6bc2b 100644
--- a/src/Init.cc
+++ b/src/Init.cc
@@ -48,12 +48,7 @@ unsigned int PPL::Init::count = 0;
PPL::fpu_rounding_direction_type PPL::Init::old_rounding_direction;
extern "C" void
-ppl_set_GMP_memory_allocation_functions(void)
-#if PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK
- __attribute__((weak));
-#else
- ;
-#endif
+ppl_set_GMP_memory_allocation_functions(void);
#if PPL_CAN_CONTROL_FPU \
&& defined(PPL_ARM_CAN_CONTROL_FPU) && PPL_ARM_CAN_CONTROL_FPU
diff --git a/src/set_GMP_memory_alloc_funcs.cc b/src/set_GMP_memory_alloc_funcs.cc
index 5e696a1..ddb826f 100644
--- a/src/set_GMP_memory_alloc_funcs.cc
+++ b/src/set_GMP_memory_alloc_funcs.cc
@@ -24,13 +24,8 @@ site: http://bugseng.com/products/ppl/ . */
#include "ppl-config.h"
extern "C" void
-ppl_set_GMP_memory_allocation_functions(void)
-#if PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK
- __attribute__((weak));
+ppl_set_GMP_memory_allocation_functions(void);
void
ppl_set_GMP_memory_allocation_functions(void) {
}
-#else
- ;
-#endif
diff --git a/tests/Polyhedron/memory1.cc b/tests/Polyhedron/memory1.cc
index c3e59ff..f49e5f0 100644
--- a/tests/Polyhedron/memory1.cc
+++ b/tests/Polyhedron/memory1.cc
@@ -21,9 +21,6 @@ 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/ . */
-// Note: we cannot know, at this stage whether
-// PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK evaluates to true.
-#define PPL_NO_AUTOMATIC_INITIALIZATION
#include "ppl_test.hh"
#include <new>
#include <cstring>
@@ -162,23 +159,13 @@ cxx_free(void* p, size_t) {
#define INIT_MEMORY 3*1024*1024
-#if PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK
extern "C" void
ppl_set_GMP_memory_allocation_functions(void) {
mp_set_memory_functions(cxx_malloc, cxx_realloc, cxx_free);
}
-#endif // PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK
int
main() TRY {
-#if !PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK
- mp_set_memory_functions(cxx_malloc, cxx_realloc, cxx_free);
-#endif // !PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK
-
- // Note: we have included <ppl.hh> under the definition of
- // PPL_NO_AUTOMATIC_INITIALIZATION.
- Parma_Polyhedra_Library::initialize();
-
set_handlers();
// Find a dimension that cannot be computed with INIT_MEMORY bytes.
@@ -209,10 +196,6 @@ main() TRY {
nout << "Estimated memory for dimension " << dimension
<< ": " << (lower_bound+upper_bound)/2 << " bytes" << endl;
- // Note: we have included <ppl.hh> under the definition of
- // PPL_NO_AUTOMATIC_INITIALIZATION.
- Parma_Polyhedra_Library::finalize();
-
return 0;
}
CATCH
More information about the PPL-devel
mailing list