AddInitialArguments -> AddArguments, and we pass in the struct_address and push it too.  All the
callers had to do this by hand and we ended up never actually adding initial arguments and then
reusing them by passing in the struct address separately, so the distinction wasn't needed.

llvm-svn: 252108
diff --git a/lldb/source/Expression/LLVMUserExpression.cpp b/lldb/source/Expression/LLVMUserExpression.cpp
index e1bea83..eff0a2d 100644
--- a/lldb/source/Expression/LLVMUserExpression.cpp
+++ b/lldb/source/Expression/LLVMUserExpression.cpp
@@ -111,14 +111,12 @@
 
             std::vector<lldb::addr_t> args;
 
-            if (!AddInitialArguments(exe_ctx, args, error_stream))
+            if (!AddArguments(exe_ctx, args, struct_address, error_stream))
             {
-                error_stream.Printf("Errored out in %s, couldn't AddInitialArguments", __FUNCTION__);
+                error_stream.Printf("Errored out in %s, couldn't AddArguments", __FUNCTION__);
                 return lldb::eExpressionSetupError;
             }
 
-            args.push_back(struct_address);
-
             function_stack_bottom = m_stack_frame_bottom;
             function_stack_top = m_stack_frame_top;
 
@@ -143,14 +141,12 @@
 
             std::vector<lldb::addr_t> args;
 
-            if (!AddInitialArguments(exe_ctx, args, error_stream))
+            if (!AddArguments(exe_ctx, args, struct_address, error_stream))
             {
-                error_stream.Printf("Errored out in %s, couldn't AddInitialArguments", __FUNCTION__);
+                error_stream.Printf("Errored out in %s, couldn't AddArguments", __FUNCTION__);
                 return lldb::eExpressionSetupError;
             }
 
-            args.push_back(struct_address);
-
             lldb::ThreadPlanSP call_plan_sp(new ThreadPlanCallUserExpression(exe_ctx.GetThreadRef(), wrapper_address,
                                                                              args, options, shared_ptr_to_me));
 
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
index b78d5a2..11f7f84 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
@@ -555,9 +555,10 @@
 }
 
 bool
-ClangUserExpression::AddInitialArguments (ExecutionContext &exe_ctx,
-                                          std::vector<lldb::addr_t> &args,
-                                          Stream &error_stream)
+ClangUserExpression::AddArguments (ExecutionContext &exe_ctx,
+                                   std::vector<lldb::addr_t> &args,
+                                   lldb::addr_t struct_address,
+                                   Stream &error_stream)
 {
     lldb::addr_t object_ptr = LLDB_INVALID_ADDRESS;
     lldb::addr_t cmd_ptr    = LLDB_INVALID_ADDRESS;
@@ -612,7 +613,11 @@
         if (m_in_objectivec_method)
             args.push_back(cmd_ptr);
 
-
+        args.push_back(struct_address);
+    }
+    else
+    {
+        args.push_back(struct_address);
     }
     return true;
 }
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h b/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
index 042a070..f2bfe31 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
@@ -188,9 +188,10 @@
                  lldb_private::Error &err) override;
 
     bool
-    AddInitialArguments (ExecutionContext &exe_ctx,
-                         std::vector<lldb::addr_t> &args,
-                         Stream &error_stream) override;
+    AddArguments (ExecutionContext &exe_ctx,
+                  std::vector<lldb::addr_t> &args,
+                  lldb::addr_t struct_address,
+                  Stream &error_stream) override;
     
     ClangUserExpressionHelper   m_type_system_helper;