fieldno++)
{
char *field_name = TYPE_FIELD_NAME (struct_type, fieldno);
- if (field_name != NULL && STREQ (field_name, label))
+ if (field_name != NULL && DEPRECATED_STREQ (field_name, label))
{
variantno = -1;
subfieldno = fieldno;
subfieldno < TYPE_NFIELDS (substruct_type);
subfieldno++)
{
- if (STREQ (TYPE_FIELD_NAME (substruct_type,
+ if (DEPRECATED_STREQ (TYPE_FIELD_NAME (substruct_type,
subfieldno),
label))
{
case OP_OBJC_MSGCALL:
{ /* Objective C message (method) call. */
- static unsigned long responds_selector = 0;
- static unsigned long method_selector = 0;
+ static CORE_ADDR responds_selector = 0;
+ static CORE_ADDR method_selector = 0;
- unsigned long selector = 0;
+ CORE_ADDR selector = 0;
int using_gcc = 0;
int struct_return = 0;
only). */
if (gnu_runtime)
{
+ struct type *type;
+ type = lookup_pointer_type (builtin_type_void);
+ type = lookup_function_type (type);
+ type = lookup_pointer_type (type);
+ type = lookup_function_type (type);
+ type = lookup_pointer_type (type);
+
msg_send = find_function_in_inferior ("objc_msg_lookup");
msg_send_stret = find_function_in_inferior ("objc_msg_lookup");
+
+ msg_send = value_from_pointer (type, value_as_address (msg_send));
+ msg_send_stret = value_from_pointer (type,
+ value_as_address (msg_send_stret));
}
else
{
if (gnu_runtime && (method != NULL))
{
- ret = call_function_by_hand (argvec[0], nargs + 2, argvec + 1);
/* Function objc_msg_lookup returns a pointer. */
- argvec[0] = ret;
- ret = call_function_by_hand (argvec[0], nargs + 2, argvec + 1);
+ VALUE_TYPE (argvec[0]) = lookup_function_type
+ (lookup_pointer_type (VALUE_TYPE (argvec[0])));
+ argvec[0] = call_function_by_hand (argvec[0], nargs + 2, argvec + 1);
}
- else
- ret = call_function_by_hand (argvec[0], nargs + 2, argvec + 1);
+ ret = call_function_by_hand (argvec[0], nargs + 2, argvec + 1);
return ret;
}
break;