<rdar://problem/13069948>

Major fixed to allow reading files that are over 4GB. The main problems were that the DataExtractor was using 32 bit offsets as a data cursor, and since we mmap all of our object files we could run into cases where if we had a very large core file that was over 4GB, we were running into the 4GB boundary.

So I defined a new "lldb::offset_t" which should be used for all file offsets.

After making this change, I enabled warnings for data loss and for enexpected implicit conversions temporarily and found a ton of things that I fixed.

Any functions that take an index internally, should use "size_t" for any indexes and also should return "size_t" for any sizes of collections.

llvm-svn: 173463
diff --git a/lldb/source/Core/Disassembler.cpp b/lldb/source/Core/Disassembler.cpp
index 08d6d9a..0d29e01 100644
--- a/lldb/source/Core/Disassembler.cpp
+++ b/lldb/source/Core/Disassembler.cpp
@@ -638,7 +638,7 @@
 
         std::string line (buffer);
         
-        int len = line.size();
+        size_t len = line.size();
         if (line[len-1] == '\n')
         {
             line[len-1] = '\0';
@@ -706,7 +706,7 @@
         // Check to see if the line contains the end-of-dictionary marker ("}")
         std::string line (buffer);
 
-        int len = line.size();
+        size_t len = line.size();
         if (line[len-1] == '\n')
         {
             line[len-1] = '\0';
@@ -776,7 +776,7 @@
             }
             else
             {
-                int len = value.size();
+                size_t len = value.size();
                 if ((value[0] == '"') && (value[len-1] == '"'))
                     value = value.substr (1, len-2);
                 value_sp.reset (new OptionValueString (value.c_str(), ""));
@@ -945,7 +945,7 @@
 
 
 InstructionSP
-InstructionList::GetInstructionAtIndex (uint32_t idx) const
+InstructionList::GetInstructionAtIndex (size_t idx) const
 {
     InstructionSP inst_sp;
     if (idx < m_instructions.size())
@@ -1007,9 +1007,9 @@
 {
     Address address;
     address.SetLoadAddress(load_addr, &target);
-    uint32_t num_instructions = m_instructions.size();
+    size_t num_instructions = m_instructions.size();
     uint32_t index = UINT32_MAX;
-    for (int i = 0; i < num_instructions; i++)
+    for (size_t i = 0; i < num_instructions; i++)
     {
         if (m_instructions[i]->GetAddress() == address)
         {
@@ -1171,7 +1171,7 @@
 size_t
 PseudoInstruction::Decode (const lldb_private::Disassembler &disassembler,
                            const lldb_private::DataExtractor &data,
-                           uint32_t data_offset)
+                           lldb::offset_t data_offset)
 {
     return m_opcode.GetByteSize();
 }