diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2014-04-01 17:00:00 +0000 |
|---|---|---|
| committer | Jabiertxof <jtx@jtx.marker.es> | 2014-04-01 17:00:00 +0000 |
| commit | 208ccdf9782984702f79b8ba416e67dd1e2c2dfa (patch) | |
| tree | 79d15123aa526c49c6386db6245fbfc6b7a63eaf /src/gc.cpp | |
| parent | update to trunk (diff) | |
| parent | partial 2geom update: (diff) | |
| download | inkscape-208ccdf9782984702f79b8ba416e67dd1e2c2dfa.tar.gz inkscape-208ccdf9782984702f79b8ba416e67dd1e2c2dfa.zip | |
update to trunk
(bzr r12588.1.32)
Diffstat (limited to 'src/gc.cpp')
| -rw-r--r-- | src/gc.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/gc.cpp b/src/gc.cpp index 9c59691cb..280a8b1dc 100644 --- a/src/gc.cpp +++ b/src/gc.cpp @@ -70,9 +70,13 @@ void *debug_base(void *ptr) { return base + debug_base_fixup(); } -int debug_general_register_disappearing_link(void **p_ptr, void *base) { - char *real_base=reinterpret_cast<char *>(base) - debug_base_fixup(); +int debug_general_register_disappearing_link(void **p_ptr, void const *base) { + char const *real_base = reinterpret_cast<char const *>(base) - debug_base_fixup(); +#if (GC_MAJOR_VERSION >= 7 && GC_MINOR_VERSION >= 4) return GC_general_register_disappearing_link(p_ptr, real_base); +#else // compatibility with older Boehm GC versions + return GC_general_register_disappearing_link(p_ptr, const_cast<char *>(real_base)); +#endif } void dummy_do_init() {} @@ -90,7 +94,7 @@ void dummy_register_finalizer(void *, CleanupFunc, void *, } } -int dummy_general_register_disappearing_link(void **, void *) { return false; } +int dummy_general_register_disappearing_link(void **, void const *) { return false; } int dummy_unregister_disappearing_link(void **/*link*/) { return false; } @@ -112,7 +116,11 @@ Ops enabled_ops = { &GC_malloc_atomic_uncollectable, &GC_base, &GC_register_finalizer_ignore_self, - &GC_general_register_disappearing_link, +#if (GC_MAJOR_VERSION >= 7 && GC_MINOR_VERSION >= 4) + &GC_general_register_disappearing_link, +#else // compatibility with older Boehm GC versions + (int (*)(void**, const void*))(&GC_general_register_disappearing_link), +#endif &GC_unregister_disappearing_link, &GC_get_heap_size, &GC_get_free_bytes, @@ -202,7 +210,7 @@ void stub_register_finalizer_ignore_self(void *, CleanupFunc, void *, die_because_not_initialized(); } -int stub_general_register_disappearing_link(void **, void *) { +int stub_general_register_disappearing_link(void **, void const *) { die_because_not_initialized(); return 0; } |
