[PATCH] D56983: [libunwind] Add casts to avoid warnings about implicit conversions losing precision

Martin Storsjö via Phabricator reviews at reviews.llvm.org
Sun Jan 20 13:35:09 PST 2019


mstorsjo created this revision.
mstorsjo added reviewers: mclow.lists, EricWF, ldionne.
Herald added subscribers: libcxx-commits, kristof.beyls, javed.absar, aprantl.

This fixes warnings like these:

DwarfInstructions.hpp:85:25: warning: implicit conversion

  loses integer precision: 'uint64_t' (aka 'unsigned long long') to
  'libunwind::DwarfInstructions<libunwind::LocalAddressSpace,
  libunwind::Registers_arm>::pint_t' (aka 'unsigned int')
  [-Wshorten-64-to-32]

DwarfInstructions.hpp:88:25: warning: implicit conversion

  loses integer precision: 'uint64_t' (aka 'unsigned long long') to
  'libunwind::DwarfInstructions<libunwind::LocalAddressSpace,
  libunwind::Registers_arm>::pint_t' (aka 'unsigned int')
  [-Wshorten-64-to-32]


Repository:
  rUNW libunwind

https://reviews.llvm.org/D56983

Files:
  src/DwarfInstructions.hpp


Index: src/DwarfInstructions.hpp
===================================================================
--- src/DwarfInstructions.hpp
+++ src/DwarfInstructions.hpp
@@ -82,12 +82,11 @@
     const RegisterLocation &savedReg) {
   switch (savedReg.location) {
   case CFI_Parser<A>::kRegisterInCFA:
-    return addressSpace.getRegister(cfa + (pint_t)savedReg.value);
+    return (pint_t)addressSpace.getRegister(cfa + (pint_t)savedReg.value);
 
   case CFI_Parser<A>::kRegisterAtExpression:
-    return addressSpace.getRegister(
-        evaluateExpression((pint_t)savedReg.value, addressSpace,
-                            registers, cfa));
+    return (pint_t)addressSpace.getRegister(evaluateExpression(
+        (pint_t)savedReg.value, addressSpace, registers, cfa));
 
   case CFI_Parser<A>::kRegisterIsExpression:
     return evaluateExpression((pint_t)savedReg.value, addressSpace,


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56983.182712.patch
Type: text/x-patch
Size: 883 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20190120/6cabb93a/attachment.bin>


More information about the libcxx-commits mailing list