Patch by Matt Johnson to silence G++ warnings!
Used hand merge to apply the diffs.  I did not apply the diffs for FormatManager.h and
the diffs for memberwise initialization for ValueObject.cpp because they changed since.
I will ask my colleague to apply them later.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135508 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Commands/CommandObjectExpression.cpp b/source/Commands/CommandObjectExpression.cpp
index 4a25477..0afb0eb 100644
--- a/source/Commands/CommandObjectExpression.cpp
+++ b/source/Commands/CommandObjectExpression.cpp
@@ -463,14 +463,14 @@
 OptionDefinition
 CommandObjectExpression::CommandOptions::g_option_table[] =
 {
-  //{ LLDB_OPT_SET_ALL, false, "language",   'l', required_argument, NULL, 0, "[c|c++|objc|objc++]",          "Sets the language to use when parsing the expression."},
+//{ LLDB_OPT_SET_ALL, false, "language",   'l', required_argument, NULL, 0, "[c|c++|objc|objc++]",          "Sets the language to use when parsing the expression."},
 //{ LLDB_OPT_SET_1, false, "format",     'f', required_argument, NULL, 0, "[ [bool|b] | [bin] | [char|c] | [oct|o] | [dec|i|d|u] | [hex|x] | [float|f] | [cstr|s] ]",  "Specify the format that the expression output should use."},
-{ LLDB_OPT_SET_1, false, "format",             'f', required_argument, NULL, 0, eArgTypeExprFormat,  "Specify the format that the expression output should use."},
-{ LLDB_OPT_SET_2, false, "object-description", 'o', no_argument,       NULL, 0, eArgTypeNone, "Print the object description of the value resulting from the expression."},
-{ LLDB_OPT_SET_2, false, "dynamic-value", 'd', required_argument,       NULL, 0, eArgTypeBoolean, "Upcast the value resulting from the expression to its dynamic type if available."},
-{ LLDB_OPT_SET_ALL, false, "unwind-on-error",  'u', required_argument, NULL, 0, eArgTypeBoolean, "Clean up program state if the expression causes a crash, breakpoint hit or signal."},
-{ LLDB_OPT_SET_ALL, false, "debug",            'g', no_argument,       NULL, 0, eArgTypeNone, "Enable verbose debug logging of the expression parsing and evaluation."},
-{ LLDB_OPT_SET_ALL, false, "use-ir",           'i', no_argument,       NULL, 0, eArgTypeNone, "[Temporary] Instructs the expression evaluator to use IR instead of ASTs."},
-{ 0, false, NULL, 0, 0, NULL, NULL, eArgTypeNone, NULL }
+{ LLDB_OPT_SET_1,   false, "format",             'f', required_argument, NULL, 0, eArgTypeExprFormat, "Specify the format that the expression output should use."},
+{ LLDB_OPT_SET_2,   false, "object-description", 'o', no_argument,       NULL, 0, eArgTypeNone,       "Print the object description of the value resulting from the expression."},
+{ LLDB_OPT_SET_2,   false, "dynamic-value",      'd', required_argument, NULL, 0, eArgTypeBoolean,    "Upcast the value resulting from the expression to its dynamic type if available."},
+{ LLDB_OPT_SET_ALL, false, "unwind-on-error",    'u', required_argument, NULL, 0, eArgTypeBoolean,    "Clean up program state if the expression causes a crash, breakpoint hit or signal."},
+{ LLDB_OPT_SET_ALL, false, "debug",              'g', no_argument,       NULL, 0, eArgTypeNone,       "Enable verbose debug logging of the expression parsing and evaluation."},
+{ LLDB_OPT_SET_ALL, false, "use-ir",             'i', no_argument,       NULL, 0, eArgTypeNone,       "[Temporary] Instructs the expression evaluator to use IR instead of ASTs."},
+{ 0,                false, NULL,                 0,   0,                 NULL, 0, eArgTypeNone,       NULL }
 };
 
diff --git a/source/Commands/CommandObjectType.cpp b/source/Commands/CommandObjectType.cpp
index ab35741..6adbb60 100644
--- a/source/Commands/CommandObjectType.cpp
+++ b/source/Commands/CommandObjectType.cpp
@@ -192,7 +192,7 @@
 
         // now I have a valid format, let's add it to every type
         
-        for (int i = 0; i < argc; i++) {
+        for (size_t i = 0; i < argc; i++) {
             const char* typeA = command.GetArgumentAtIndex(i);
             ConstString typeCS(typeA);
             if (typeCS)
@@ -542,7 +542,7 @@
         
         Error error;
         
-        for (int i = 0; i < options->m_target_types.GetSize(); i++)
+        for (size_t i = 0; i < options->m_target_types.GetSize(); i++)
         {
             const char *type_name = options->m_target_types.GetStringAtIndex(i);
             CommandObjectTypeSummaryAdd::AddSummary(ConstString(type_name),
@@ -785,7 +785,7 @@
                                                          m_options.m_name,
                                                          m_options.m_category);
         
-        for (int i = 0; i < argc; i++) {
+        for (size_t i = 0; i < argc; i++) {
             const char* typeA = command.GetArgumentAtIndex(i);
             if (typeA && *typeA)
                 options->m_target_types << typeA;
@@ -806,7 +806,7 @@
     
     Error error;
     
-    for (int i = 0; i < command.GetArgumentCount(); i++)
+    for (size_t i = 0; i < command.GetArgumentCount(); i++)
     {
         const char *type_name = command.GetArgumentAtIndex(i);
         CommandObjectTypeSummaryAdd::AddSummary(ConstString(type_name),
@@ -886,7 +886,7 @@
     
     // now I have a valid format, let's add it to every type
     
-    for (int i = 0; i < argc; i++) {
+    for (size_t i = 0; i < argc; i++) {
         const char* typeA = command.GetArgumentAtIndex(i);
         if (!typeA || typeA[0] == '\0')
         {
diff --git a/source/Core/ValueObject.cpp b/source/Core/ValueObject.cpp
index fc89f0f..2d2972d 100644
--- a/source/Core/ValueObject.cpp
+++ b/source/Core/ValueObject.cpp
@@ -2356,7 +2356,7 @@
                     }
                     else
                     {
-                        for (int index = index_lower;
+                        for (unsigned long index = index_lower;
                              index <= index_higher; index++)
                         {
                             ValueObjectSP child = 
@@ -3091,4 +3091,4 @@
     m_value_str.clear();
     m_summary_str.clear();
     m_object_desc_str.clear();
-}
\ No newline at end of file
+}
diff --git a/source/Expression/ClangExpressionDeclMap.cpp b/source/Expression/ClangExpressionDeclMap.cpp
index dd952c9..97e73bd 100644
--- a/source/Expression/ClangExpressionDeclMap.cpp
+++ b/source/Expression/ClangExpressionDeclMap.cpp
@@ -168,7 +168,7 @@
     if (num_bytes > num_data_bytes)
         num_bytes = num_data_bytes;
     
-    for (off_t byte_idx = 0;
+    for (size_t byte_idx = 0;
          byte_idx < num_bytes;
          ++byte_idx)
     {
@@ -915,7 +915,7 @@
         if (log)
             log->PutCString("Not bothering to allocate a struct because no arguments are needed");
         
-        m_material_vars->m_allocated_area = NULL;
+        m_material_vars->m_allocated_area = 0;
         
         return true;
     }
diff --git a/source/Expression/ClangExpressionParser.cpp b/source/Expression/ClangExpressionParser.cpp
index c7050f3..01095b5 100644
--- a/source/Expression/ClangExpressionParser.cpp
+++ b/source/Expression/ClangExpressionParser.cpp
@@ -257,7 +257,7 @@
         std::string triple = target->GetArchitecture().GetTriple().str();
         
         int dash_count = 0;
-        for (int i = 0; i < triple.size(); ++i)
+        for (size_t i = 0; i < triple.size(); ++i)
         {
             if (triple[i] == '-')
                 dash_count++;
diff --git a/source/Expression/ClangUserExpression.cpp b/source/Expression/ClangUserExpression.cpp
index 359b011..d8d65bc 100644
--- a/source/Expression/ClangUserExpression.cpp
+++ b/source/Expression/ClangUserExpression.cpp
@@ -413,8 +413,8 @@
 {
     lldb::addr_t struct_address;
             
-    lldb::addr_t object_ptr = NULL;
-    lldb::addr_t cmd_ptr = NULL;
+    lldb::addr_t object_ptr = 0;
+    lldb::addr_t cmd_ptr = 0;
     
     PrepareToExecuteJITExpression (error_stream, exe_ctx, struct_address, object_ptr, cmd_ptr);
     
@@ -494,8 +494,8 @@
     {
         lldb::addr_t struct_address;
                 
-        lldb::addr_t object_ptr = NULL;
-        lldb::addr_t cmd_ptr = NULL;
+        lldb::addr_t object_ptr = 0;
+        lldb::addr_t cmd_ptr = 0;
         
         if (!PrepareToExecuteJITExpression (error_stream, exe_ctx, struct_address, object_ptr, cmd_ptr))
             return eExecutionSetupError;
diff --git a/source/Expression/IRForTarget.cpp b/source/Expression/IRForTarget.cpp
index e20af16..6037cd0 100644
--- a/source/Expression/IRForTarget.cpp
+++ b/source/Expression/IRForTarget.cpp
@@ -52,16 +52,16 @@
     ModulePass(ID),
     m_resolve_vars(resolve_vars),
     m_func_name(func_name),
-    m_decl_map(decl_map),
     m_module(NULL),
+    m_decl_map(decl_map),
+    m_data_allocator(data_allocator),
     m_CFStringCreateWithBytes(NULL),
     m_sel_registerName(NULL),
+    m_const_result(const_result),
     m_error_stream(error_stream),
     m_has_side_effects(false),
     m_result_store(NULL),
     m_result_is_pointer(false),
-    m_const_result(const_result),
-    m_data_allocator(data_allocator),
     m_reloc_placeholder(NULL)
 {
 }
@@ -1918,7 +1918,7 @@
          ++ui)
         users.push_back(*ui);
         
-    for (int i = 0;
+    for (size_t i = 0;
          i < users.size();
          ++i)
     {
diff --git a/source/Host/common/FileSpec.cpp b/source/Host/common/FileSpec.cpp
index 1b6a69b..ba9f920 100644
--- a/source/Host/common/FileSpec.cpp
+++ b/source/Host/common/FileSpec.cpp
@@ -913,7 +913,7 @@
                 {
                     char child_path[PATH_MAX];
                     const int child_path_len = ::snprintf (child_path, sizeof(child_path), "%s/%s", dir_path, dp->d_name);
-                    if (child_path_len < sizeof(child_path) - 1)
+                    if (child_path_len < (int)(sizeof(child_path) - 1))
                     {
                         // Don't resolve the file type or path
                         FileSpec child_path_spec (child_path, false);
diff --git a/source/Host/common/Host.cpp b/source/Host/common/Host.cpp
index b699bc8..6908eb1 100644
--- a/source/Host/common/Host.cpp
+++ b/source/Host/common/Host.cpp
@@ -183,7 +183,7 @@
             }
             else
             {
-                status_cstr = "(???)";
+                status_cstr = "(\?\?\?)";
             }
 
             // Scope for pthread_cancel_disabler