summaryrefslogtreecommitdiff
path: root/dbg_mlc.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2018-03-02 12:03:01 +0300
committerIvan Maidanski <ivmai@mail.ru>2018-03-02 13:29:56 +0300
commit5a52a21cf777fb8883dc8247dea1d7645f9e0b70 (patch)
tree11e6162441bf45312a78ba2ec9b22bfeb966120f /dbg_mlc.c
parent8d18e5d1d5d45493f519634ce0e9b09d675afef2 (diff)
downloadbdwgc-5a52a21cf777fb8883dc8247dea1d7645f9e0b70.tar.gz
Change backtrace-specific code to comply with C++11 standard
Issue #206 (bdwgc). * dbg_mlc.c (GC_get_back_ptr_info): Cast GC_REVEAL_POINTER() result to ptr_t (when assigned to bp local variable). * dbg_mlc.c (GC_generate_random_valid_address): Cast result of GC_generate_random_heap_address() to ptr_t. * dbg_mlc.c (GC_print_backtrace): Cast GC_print_heap_obj() argument to ptr_t.
Diffstat (limited to 'dbg_mlc.c')
-rw-r--r--dbg_mlc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/dbg_mlc.c b/dbg_mlc.c
index e9c1df55..492a3d4c 100644
--- a/dbg_mlc.c
+++ b/dbg_mlc.c
@@ -119,7 +119,7 @@
if (!hdr) ABORT("Invalid GC_get_back_ptr_info argument");
# endif
if (!GC_HAS_DEBUG_INFO((ptr_t) hdr)) return GC_NO_SPACE;
- bp = GC_REVEAL_POINTER(hdr -> oh_back_ptr);
+ bp = (ptr_t)GC_REVEAL_POINTER(hdr -> oh_back_ptr);
if (MARKED_FOR_FINALIZATION == bp) return GC_FINALIZER_REFD;
if (MARKED_FROM_REGISTER == bp) return GC_REFD_FROM_REG;
if (NOT_MARKED == bp) return GC_UNREFERENCED;
@@ -190,7 +190,7 @@
ptr_t result;
ptr_t base;
do {
- result = GC_generate_random_heap_address();
+ result = (ptr_t)GC_generate_random_heap_address();
base = (ptr_t)GC_base(result);
} while (NULL == base || !GC_is_marked(base));
return result;
@@ -205,7 +205,7 @@
size_t offset;
void *base;
- GC_print_heap_obj(GC_base(current));
+ GC_print_heap_obj((ptr_t)GC_base(current));
for (i = 0; ; ++i) {
source = GC_get_back_ptr_info(current, &base, &offset);
@@ -231,7 +231,7 @@
case GC_REFD_FROM_HEAP:
GC_err_printf("offset %ld in object:\n", (long)offset);
/* Take GC_base(base) to get real base, i.e. header. */
- GC_print_heap_obj(GC_base(base));
+ GC_print_heap_obj((ptr_t)GC_base(base));
break;
default:
GC_err_printf("INTERNAL ERROR: UNEXPECTED SOURCE!!!!\n");