===================================================================
@@ -53,7 +53,7 @@ extern tree objc_is_id (tree);
extern void objc_declare_alias (tree, tree);
extern void objc_declare_class (tree);
extern void objc_declare_protocols (tree, tree);
-extern tree objc_build_message_expr (tree);
+extern tree objc_build_message_expr (tree, tree);
extern tree objc_finish_message_expr (tree, tree, tree, tree*);
extern tree objc_build_selector_expr (location_t, tree);
extern tree objc_build_protocol_expr (tree);
===================================================================
@@ -1,3 +1,8 @@
+2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-objc.h (objc_build_message_expr): Updated prototype.
+ * stub-objc.c (objc_build_message_expr): Likewise.
+
2011-04-12 Martin Jambor <mjambor@suse.cz>
* c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
===================================================================
@@ -258,7 +258,7 @@ objc_build_selector_expr (location_t ARG_UNUSED (l
}
tree
-objc_build_message_expr (tree ARG_UNUSED (expr))
+objc_build_message_expr (tree ARG_UNUSED (receiver), tree ARG_UNUSED (args))
{
return 0;
}
===================================================================
@@ -1,5 +1,11 @@
2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
+ * objc-act.c (objc_build_message_expr): Accept two arguments
+ instead of one so that callers can simply pass the arguments
+ without having to create a temporary chain to hold them.
+
+2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
+
* objc-act.c (printable_ivar_name): New.
(add_instance_variable): Call printable_ivar_name() when an error
message needs to be printed. Do not prepare the instance variable
===================================================================
@@ -5027,14 +5027,13 @@ objc_message_selector (void)
(*(<abstract_decl>(*)())_msgSuper)(receiver, selTransTbl[n], ...); */
tree
-objc_build_message_expr (tree mess)
+objc_build_message_expr (tree receiver, tree message_args)
{
- tree receiver = TREE_PURPOSE (mess);
tree sel_name;
#ifdef OBJCPLUS
- tree args = TREE_PURPOSE (TREE_VALUE (mess));
+ tree args = TREE_PURPOSE (message_args);
#else
- tree args = TREE_VALUE (mess);
+ tree args = message_args;
#endif
tree method_params = NULL_TREE;
@@ -5058,7 +5057,7 @@ tree
/* Build the parameter list to give to the method. */
if (TREE_CODE (args) == TREE_LIST)
#ifdef OBJCPLUS
- method_params = chainon (args, TREE_VALUE (TREE_VALUE (mess)));
+ method_params = chainon (args, TREE_VALUE (message_args));
#else
{
tree chain = args, prev = NULL_TREE;
===================================================================
@@ -1,5 +1,11 @@
2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
+ * c-parser.c (c_parser_initelt): Updated call to
+ objc_build_message_expr.
+ (c_parser_postfix_expression): Likewise.
+
+2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
+
* c-parser.c (c_lex_one_token): Rewritten conditional used when
compiling Objective-C to be more efficient.
===================================================================
@@ -1,3 +1,8 @@
+2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * parser.c (cp_parser_objc_message_expression): Updated call
+ to objc_build_message_expr.
+
2011-04-12 Martin Jambor <mjambor@suse.cz>
* class.c (cp_fold_obj_type_ref): Call cgraph_get_node instead of
===================================================================
@@ -21289,7 +21289,7 @@ cp_parser_objc_message_expression (cp_parser* pars
messageargs = cp_parser_objc_message_args (parser);
cp_parser_require (parser, CPP_CLOSE_SQUARE, RT_CLOSE_SQUARE);
- return objc_build_message_expr (build_tree_list (receiver, messageargs));
+ return objc_build_message_expr (receiver, messageargs);
}
/* Parse an objc-message-receiver.
===================================================================
@@ -3788,7 +3788,7 @@ c_parser_initelt (c_parser *parser, struct obstack
c_parser_skip_until_found (parser, CPP_CLOSE_SQUARE,
"expected %<]%>");
mexpr.value
- = objc_build_message_expr (build_tree_list (rec, args));
+ = objc_build_message_expr (rec, args);
mexpr.original_code = ERROR_MARK;
mexpr.original_type = NULL;
/* Now parse and process the remainder of the
@@ -6455,8 +6455,7 @@ c_parser_postfix_expression (c_parser *parser)
args = c_parser_objc_message_args (parser);
c_parser_skip_until_found (parser, CPP_CLOSE_SQUARE,
"expected %<]%>");
- expr.value = objc_build_message_expr (build_tree_list (receiver,
- args));
+ expr.value = objc_build_message_expr (receiver, args);
break;
}
/* Else fall through to report error. */