From bd04c44f48acaec94c10b439ad81cad1e936a656 Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Thu, 26 Feb 2015 04:01:37 +0000 Subject: [PATCH] Unwind: clean up some GCC warnings This cleans up a set of -Wsign-conversion, -Wint-conversion, and -Wformat warnings from GCC 4.9.2 on Linux. NFC. llvm-svn: 230606 --- libcxxabi/src/Unwind/DwarfInstructions.hpp | 14 +++++++------- libcxxabi/src/Unwind/libunwind.cpp | 3 ++- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/libcxxabi/src/Unwind/DwarfInstructions.hpp b/libcxxabi/src/Unwind/DwarfInstructions.hpp index 4fbd53c..99737e0 100644 --- a/libcxxabi/src/Unwind/DwarfInstructions.hpp +++ b/libcxxabi/src/Unwind/DwarfInstructions.hpp @@ -605,7 +605,7 @@ DwarfInstructions::evaluateExpression(pint_t expression, A &addressSpace, case DW_OP_lit29: case DW_OP_lit30: case DW_OP_lit31: - value = opcode - DW_OP_lit0; + value = static_cast(opcode - DW_OP_lit0); *(++sp) = value; if (log) fprintf(stderr, "push literal 0x%" PRIx64 "\n", (uint64_t)value); @@ -643,14 +643,14 @@ DwarfInstructions::evaluateExpression(pint_t expression, A &addressSpace, case DW_OP_reg29: case DW_OP_reg30: case DW_OP_reg31: - reg = opcode - DW_OP_reg0; + reg = static_cast(opcode - DW_OP_reg0); *(++sp) = registers.getRegister((int)reg); if (log) fprintf(stderr, "push reg %d\n", reg); break; case DW_OP_regx: - reg = (uint32_t)addressSpace.getULEB128(p, expressionEnd); + reg = static_cast(addressSpace.getULEB128(p, expressionEnd)); *(++sp) = registers.getRegister((int)reg); if (log) fprintf(stderr, "push reg %d + 0x%" PRIx64 "\n", reg, (uint64_t)svalue); @@ -688,18 +688,18 @@ DwarfInstructions::evaluateExpression(pint_t expression, A &addressSpace, case DW_OP_breg29: case DW_OP_breg30: case DW_OP_breg31: - reg = opcode - DW_OP_breg0; + reg = static_cast(opcode - DW_OP_breg0); svalue = (sint_t)addressSpace.getSLEB128(p, expressionEnd); - svalue += registers.getRegister((int)reg); + svalue += static_cast(registers.getRegister((int)reg)); *(++sp) = (pint_t)(svalue); if (log) fprintf(stderr, "push reg %d + 0x%" PRIx64 "\n", reg, (uint64_t)svalue); break; case DW_OP_bregx: - reg = (uint32_t)addressSpace.getULEB128(p, expressionEnd); + reg = static_cast(addressSpace.getULEB128(p, expressionEnd)); svalue = (sint_t)addressSpace.getSLEB128(p, expressionEnd); - svalue += registers.getRegister((int)reg); + svalue += static_cast(registers.getRegister((int)reg)); *(++sp) = (pint_t)(svalue); if (log) fprintf(stderr, "push reg %d + 0x%" PRIx64 "\n", reg, (uint64_t)svalue); diff --git a/libcxxabi/src/Unwind/libunwind.cpp b/libcxxabi/src/Unwind/libunwind.cpp index d5b18d8..49f06cc 100644 --- a/libcxxabi/src/Unwind/libunwind.cpp +++ b/libcxxabi/src/Unwind/libunwind.cpp @@ -309,7 +309,8 @@ _LIBUNWIND_EXPORT void unw_save_vfp_as_X(unw_cursor_t *cursor) { /// SPI: walks cached dwarf entries _LIBUNWIND_EXPORT void unw_iterate_dwarf_unwind_cache(void (*func)( unw_word_t ip_start, unw_word_t ip_end, unw_word_t fde, unw_word_t mh)) { - _LIBUNWIND_TRACE_API("unw_iterate_dwarf_unwind_cache(func=%p)\n", func); + _LIBUNWIND_TRACE_API("unw_iterate_dwarf_unwind_cache(func=%p)\n", + reinterpret_cast(func)); DwarfFDECache::iterateCacheEntries(func); } -- 2.7.4