The "desired result type" code in the expression
parser has hitherto been an implementation waiting
for a use.  I have now tied the '-o' option for
the expression command -- which indicates that the
result is an Objective-C object and needs to be
printed -- to the ExpressionParser, which
communicates the desired type to Clang.

Now, if the result of an expression is determined
by an Objective-C method call for which there is
no type information, that result is implicitly
cast to id if and only if the -o option is passed
to the expression command.  (Otherwise if there
is no explicit cast Clang will issue an error.
This behavior is identical to what happened before
r146756.)

Also added a testcase for -o enabled and disabled.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147099 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Target/StopInfo.cpp b/source/Target/StopInfo.cpp
index f90968f..00c7680 100644
--- a/source/Target/StopInfo.cpp
+++ b/source/Target/StopInfo.cpp
@@ -225,6 +225,7 @@
                         result_code = ClangUserExpression::EvaluateWithError (context.exe_ctx,
                                                                               eExecutionPolicyAlways,
                                                                               lldb::eLanguageTypeUnknown,
+                                                                              ClangUserExpression::eResultTypeAny,
                                                                               discard_on_error,
                                                                               bp_loc_sp->GetConditionText(),
                                                                               NULL,
@@ -494,6 +495,7 @@
                 result_code = ClangUserExpression::EvaluateWithError (context.exe_ctx,
                                                                       eExecutionPolicyAlways,
                                                                       lldb::eLanguageTypeUnknown,
+                                                                      ClangUserExpression::eResultTypeAny,
                                                                       discard_on_error,
                                                                       wp_sp->GetConditionText(),
                                                                       NULL,