From 1dab21b236d76900f3ddd2be32f9590aef394c2d Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Tue, 2 Oct 2012 20:41:01 +0300 Subject: Remove most C casts. --- src/debug/debug_new.cpp | 77 +++++++++++++++++++++++++++---------------------- 1 file changed, 43 insertions(+), 34 deletions(-) (limited to 'src/debug') diff --git a/src/debug/debug_new.cpp b/src/debug/debug_new.cpp index b64fc684b..ee4573132 100644 --- a/src/debug/debug_new.cpp +++ b/src/debug/debug_new.cpp @@ -338,12 +338,12 @@ static bool print_position_from_addr(const void* addr) #else const char ignore_err[] = ""; #endif - char* cmd = (char*)alloca(strlen(new_progname) - + exeext_len - + sizeof addr2line_cmd - 1 - + sizeof ignore_err - 1 - + sizeof(void*) * 2 - + 4 /* SP + "0x" + null */); + char* cmd = static_cast(alloca(strlen(new_progname) + + exeext_len + + sizeof addr2line_cmd - 1 + + sizeof ignore_err - 1 + + sizeof(void*) * 2 + + 4 /* SP + "0x" + null */)); strcpy(cmd, addr2line_cmd); strcpy(cmd + sizeof addr2line_cmd - 1, new_progname); size_t len = strlen(cmd); @@ -416,7 +416,7 @@ static void print_position(const void* ptr, int line) { if (line != 0) // Is file/line information present? { - fprintf(new_output_fp, "%s:%d", (const char*)ptr, line); + fprintf(new_output_fp, "%s:%d", static_cast(ptr), line); } else if (ptr != nullptr) // Is caller address present? { @@ -468,7 +468,7 @@ static void* alloc_mem(size_t size, const char* file, int line, bool is_array) Alignment_must_be_power_of_two); STATIC_ASSERT(M_DEBUG_NEW_TAILCHECK >= 0, Invalid_tail_check_length); size_t s = size + ALIGNED_LIST_ITEM_SIZE + M_DEBUG_NEW_TAILCHECK; - new_ptr_list_t* ptr = (new_ptr_list_t*)malloc(s); + new_ptr_list_t* ptr = static_cast(malloc(s)); if (ptr == nullptr) { #if M_DEBUG_NEW_STD_OPER_NEW @@ -482,7 +482,7 @@ static void* alloc_mem(size_t size, const char* file, int line, bool is_array) M_DEBUG_NEW_ERROR_ACTION; #endif } - void* pointer = (char*)ptr + ALIGNED_LIST_ITEM_SIZE; + void* pointer = reinterpret_cast(ptr) + ALIGNED_LIST_ITEM_SIZE; #if M_DEBUG_NEW_FILENAME_LEN == 0 ptr->file = file; #else @@ -493,7 +493,7 @@ static void* alloc_mem(size_t size, const char* file, int line, bool is_array) } else { - ptr->addr = (void*)file; + ptr->addr = reinterpret_cast(const_cast(file)); } #endif ptr->line = line; @@ -518,7 +518,7 @@ static void* alloc_mem(size_t size, const char* file, int line, bool is_array) fprintf(new_output_fp, "new%s: allocated %p (size %u, ", is_array ? "[]" : "", - pointer, (unsigned)size); + pointer, static_cast(size)); if (line != 0) print_position(ptr->file, ptr->line); else @@ -541,8 +541,8 @@ static void free_pointer(void* pointer, void* addr, bool is_array) { if (pointer == nullptr) return; - new_ptr_list_t* ptr = - (new_ptr_list_t*)((char*)pointer - ALIGNED_LIST_ITEM_SIZE); + new_ptr_list_t* ptr = reinterpret_cast( + static_cast(pointer) - ALIGNED_LIST_ITEM_SIZE); if (ptr->magic != MAGIC) { { @@ -567,8 +567,8 @@ static void free_pointer(void* pointer, void* addr, bool is_array) fprintf(new_output_fp, "%s: pointer %p (size %u)\n\tat ", msg, - (char*)ptr + ALIGNED_LIST_ITEM_SIZE, - (unsigned)ptr->size); + reinterpret_cast(ptr) + ALIGNED_LIST_ITEM_SIZE, + static_cast(ptr->size)); print_position(addr, 0); fprintf(new_output_fp, "\n\toriginally allocated at "); if (ptr->line != 0) @@ -598,10 +598,11 @@ static void free_pointer(void* pointer, void* addr, bool is_array) { fast_mutex_autolock lock(new_output_lock); fprintf(new_output_fp, - "delete%s: freed %p (size %u, %u bytes still allocated)\n", - is_array ? "[]" : "", - (char*)ptr + ALIGNED_LIST_ITEM_SIZE, - (unsigned)ptr->size, (unsigned)total_mem_alloc); + "delete%s: freed %p (size %u, %u bytes still allocated)\n", + is_array ? "[]" : "", + reinterpret_cast(ptr) + ALIGNED_LIST_ITEM_SIZE, + static_cast(ptr->size), + static_cast(total_mem_alloc)); } free(ptr); return; @@ -625,7 +626,8 @@ int check_leaks() while (ptr != &new_ptr_list) { - const char* const pointer = (char*)ptr + ALIGNED_LIST_ITEM_SIZE; + const char* const pointer = reinterpret_cast(ptr) + + ALIGNED_LIST_ITEM_SIZE; if (ptr->magic != MAGIC) { fprintf(new_output_fp, @@ -646,14 +648,14 @@ int check_leaks() { fprintf(new_output_fp, "Leaked object at %p (size %u, dump %u, ", - pointer, (unsigned)ptr->size, ptr->dumped); + pointer, static_cast(ptr->size), ptr->dumped); if (ptr->line != 0) print_position(ptr->file, ptr->line); else print_position(ptr->addr, ptr->line); fprintf(new_output_fp, ")\n"); ++ new_cnt; - new_size += (unsigned long)ptr->size; + new_size += static_cast(ptr->size); } if (ptr->dumped) ++ dumped_cnt; @@ -687,7 +689,8 @@ int check_mem_corruption() ptr != &new_ptr_list; ptr = ptr->next) { - const char* const pointer = (char*)ptr + ALIGNED_LIST_ITEM_SIZE; + const char* const pointer = reinterpret_cast(ptr) + + ALIGNED_LIST_ITEM_SIZE; if (ptr->magic == MAGIC #if M_DEBUG_NEW_TAILCHECK && check_tail(ptr) @@ -701,9 +704,9 @@ int check_mem_corruption() { #endif fprintf(new_output_fp, - "Heap data corrupt near %p (size %u, ", - pointer, - (unsigned)ptr->size); + "Heap data corrupt near %p (size %u, ", + pointer, + static_cast(ptr->size)); #if M_DEBUG_NEW_TAILCHECK } else @@ -730,8 +733,8 @@ void __debug_new_recorder::_M_process(void* pointer) { if (pointer == nullptr) return; - new_ptr_list_t* ptr = - (new_ptr_list_t*)((char*)pointer - ALIGNED_LIST_ITEM_SIZE); + new_ptr_list_t* ptr = reinterpret_cast( + static_cast(pointer) - ALIGNED_LIST_ITEM_SIZE); if (ptr->magic != MAGIC || ptr->line != 0) { fast_mutex_autolock lock(new_output_lock); @@ -777,23 +780,27 @@ void* operator new [](size_t size, const char* file, int line) void* operator new (size_t size) //throw(std::bad_alloc) { - return operator new (size, (char*)M_DEBUG_NEW_CALLER_ADDRESS, 0); + return operator new (size, static_cast( + M_DEBUG_NEW_CALLER_ADDRESS), 0); } void* operator new [](size_t size) //throw(std::bad_alloc) { - return operator new [](size, (char*)M_DEBUG_NEW_CALLER_ADDRESS, 0); + return operator new [](size, static_cast( + M_DEBUG_NEW_CALLER_ADDRESS), 0); } #if !defined(__BORLANDC__) || __BORLANDC__ > 0x551 void* operator new (size_t size, const std::nothrow_t&) throw() { - return alloc_mem(size, (char*)M_DEBUG_NEW_CALLER_ADDRESS, 0, false); + return alloc_mem(size, static_cast( + M_DEBUG_NEW_CALLER_ADDRESS), 0, false); } void* operator new [](size_t size, const std::nothrow_t&) throw() { - return alloc_mem(size, (char*)M_DEBUG_NEW_CALLER_ADDRESS, 0, true); + return alloc_mem(size, static_cast( + M_DEBUG_NEW_CALLER_ADDRESS), 0, true); } #endif @@ -838,12 +845,14 @@ void operator delete [](void* pointer, const char* file, int line) throw() void operator delete (void* pointer, const std::nothrow_t&) throw() { - operator delete (pointer, (char*)M_DEBUG_NEW_CALLER_ADDRESS, 0); + operator delete (pointer, static_cast( + M_DEBUG_NEW_CALLER_ADDRESS), 0); } void operator delete [](void* pointer, const std::nothrow_t&) throw() { - operator delete [](pointer, (char*)M_DEBUG_NEW_CALLER_ADDRESS, 0); + operator delete [](pointer, static_cast( + M_DEBUG_NEW_CALLER_ADDRESS), 0); } #endif // HAVE_PLACEMENT_DELETE -- cgit v1.2.3-60-g2f50