Fix about a dozen compile warnings

Summary:
It fixes the following compile warnings:
1. '0' flag ignored with precision and ‘%d’ gnu_printf format
2. enumeral and non-enumeral type in conditional expression
3. format ‘%d’ expects argument of type ‘int’, but argument 4 has type ...
4. enumeration value ‘...’ not handled in switch
5. cast from type ‘const uint64_t* {aka ...}’ to type ‘int64_t* {aka ...}’ casts away qualifiers
6. extra ‘;’
7. comparison between signed and unsigned integer expressions
8. variable ‘register_operand’ set but not used
9. control reaches end of non-void function

Reviewers: jingham, emaste, zturner, clayborg

Subscribers: lldb-commits

Differential Revision: https://reviews.llvm.org/D24331

llvm-svn: 281191
diff --git a/lldb/source/Target/StackFrame.cpp b/lldb/source/Target/StackFrame.cpp
index 66c672e..0b28c1e 100644
--- a/lldb/source/Target/StackFrame.cpp
+++ b/lldb/source/Target/StackFrame.cpp
@@ -1278,6 +1278,8 @@
       return std::make_pair(nullptr, 0);
     }
   }
+  default:
+    return std::make_pair(nullptr, 0);
   }
 }
 
@@ -1291,7 +1293,7 @@
   }
   return std::make_pair(nullptr, 0);
 }
-};
+}
 
 lldb::ValueObjectSP StackFrame::GuessValueForAddress(lldb::addr_t addr) {
   TargetSP target_sp = CalculateTarget();
@@ -1420,7 +1422,7 @@
   Error error;
   ValueObjectSP pointee = base->Dereference(error);
 
-  if (offset >= pointee->GetByteSize()) {
+  if (offset >= 0 && uint64_t(offset) >= pointee->GetByteSize()) {
     int64_t index = offset / pointee->GetByteSize();
     offset = offset % pointee->GetByteSize();
     const bool can_create = true;
@@ -1586,17 +1588,16 @@
       continue;
     }
 
-    Instruction::Operand *register_operand = nullptr;
     Instruction::Operand *origin_operand = nullptr;
     if (operands[0].m_type == Instruction::Operand::Type::Register &&
         operands[0].m_clobbered == true && operands[0].m_register == reg) {
-      register_operand = &operands[0];
+      // operands[0] is a register operand
       origin_operand = &operands[1];
     } else if (operands[1].m_type == Instruction::Operand::Type::Register &&
                operands[1].m_clobbered == true &&
                operands[1].m_register == reg) {
-      register_operand = &operands[1];
       origin_operand = &operands[0];
+      // operands[1] is a register operand
     } else {
       continue;
     }