Commit eb345401 by Nicola Pero Committed by Nicola Pero

In gcc/: 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>

In gcc/:
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.

In gcc/c-family/:
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.
	
In gcc/objc/:
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.

In gcc/cp/:
2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>

	* parser.c (cp_parser_objc_message_expression): Updated call
	to objc_build_message_expr.

From-SVN: r172338
parent dc2dc512
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 Kai Tietz <ktietz@redhat.com> 2011-04-12 Kai Tietz <ktietz@redhat.com>
* config/i386/mingw32.h (TARGET_SUBTARGET_DEFAULT): Add * config/i386/mingw32.h (TARGET_SUBTARGET_DEFAULT): Add
......
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> 2011-04-12 Martin Jambor <mjambor@suse.cz>
* c-gimplify.c (c_genericize): Call cgraph_get_create_node instead * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
......
...@@ -53,7 +53,7 @@ extern tree objc_is_id (tree); ...@@ -53,7 +53,7 @@ extern tree objc_is_id (tree);
extern void objc_declare_alias (tree, tree); extern void objc_declare_alias (tree, tree);
extern void objc_declare_class (tree); extern void objc_declare_class (tree);
extern void objc_declare_protocols (tree, 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_finish_message_expr (tree, tree, tree, tree*);
extern tree objc_build_selector_expr (location_t, tree); extern tree objc_build_selector_expr (location_t, tree);
extern tree objc_build_protocol_expr (tree); extern tree objc_build_protocol_expr (tree);
......
...@@ -258,7 +258,7 @@ objc_build_selector_expr (location_t ARG_UNUSED (loc), tree ARG_UNUSED (expr)) ...@@ -258,7 +258,7 @@ objc_build_selector_expr (location_t ARG_UNUSED (loc), tree ARG_UNUSED (expr))
} }
tree tree
objc_build_message_expr (tree ARG_UNUSED (expr)) objc_build_message_expr (tree ARG_UNUSED (receiver), tree ARG_UNUSED (args))
{ {
return 0; return 0;
} }
......
...@@ -3788,7 +3788,7 @@ c_parser_initelt (c_parser *parser, struct obstack * braced_init_obstack) ...@@ -3788,7 +3788,7 @@ c_parser_initelt (c_parser *parser, struct obstack * braced_init_obstack)
c_parser_skip_until_found (parser, CPP_CLOSE_SQUARE, c_parser_skip_until_found (parser, CPP_CLOSE_SQUARE,
"expected %<]%>"); "expected %<]%>");
mexpr.value mexpr.value
= objc_build_message_expr (build_tree_list (rec, args)); = objc_build_message_expr (rec, args);
mexpr.original_code = ERROR_MARK; mexpr.original_code = ERROR_MARK;
mexpr.original_type = NULL; mexpr.original_type = NULL;
/* Now parse and process the remainder of the /* Now parse and process the remainder of the
...@@ -6455,8 +6455,7 @@ c_parser_postfix_expression (c_parser *parser) ...@@ -6455,8 +6455,7 @@ c_parser_postfix_expression (c_parser *parser)
args = c_parser_objc_message_args (parser); args = c_parser_objc_message_args (parser);
c_parser_skip_until_found (parser, CPP_CLOSE_SQUARE, c_parser_skip_until_found (parser, CPP_CLOSE_SQUARE,
"expected %<]%>"); "expected %<]%>");
expr.value = objc_build_message_expr (build_tree_list (receiver, expr.value = objc_build_message_expr (receiver, args);
args));
break; break;
} }
/* Else fall through to report error. */ /* Else fall through to report error. */
......
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> 2011-04-12 Martin Jambor <mjambor@suse.cz>
* class.c (cp_fold_obj_type_ref): Call cgraph_get_node instead of * class.c (cp_fold_obj_type_ref): Call cgraph_get_node instead of
......
...@@ -21289,7 +21289,7 @@ cp_parser_objc_message_expression (cp_parser* parser) ...@@ -21289,7 +21289,7 @@ cp_parser_objc_message_expression (cp_parser* parser)
messageargs = cp_parser_objc_message_args (parser); messageargs = cp_parser_objc_message_args (parser);
cp_parser_require (parser, CPP_CLOSE_SQUARE, RT_CLOSE_SQUARE); 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. /* Parse an objc-message-receiver.
......
2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com> 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 (comp_proto_with_proto): Do not create and use * objc-act.c (comp_proto_with_proto): Do not create and use
inefficient temporary argument lists. Compare the arguments inefficient temporary argument lists. Compare the arguments
directly. (match_proto_with_proto): Removed; incorporated into directly. (match_proto_with_proto): Removed; incorporated into
......
...@@ -5026,14 +5026,13 @@ objc_message_selector (void) ...@@ -5026,14 +5026,13 @@ objc_message_selector (void)
(*(<abstract_decl>(*)())_msgSuper)(receiver, selTransTbl[n], ...); */ (*(<abstract_decl>(*)())_msgSuper)(receiver, selTransTbl[n], ...); */
tree tree
objc_build_message_expr (tree mess) objc_build_message_expr (tree receiver, tree message_args)
{ {
tree receiver = TREE_PURPOSE (mess);
tree sel_name; tree sel_name;
#ifdef OBJCPLUS #ifdef OBJCPLUS
tree args = TREE_PURPOSE (TREE_VALUE (mess)); tree args = TREE_PURPOSE (message_args);
#else #else
tree args = TREE_VALUE (mess); tree args = message_args;
#endif #endif
tree method_params = NULL_TREE; tree method_params = NULL_TREE;
...@@ -5057,7 +5056,7 @@ objc_build_message_expr (tree mess) ...@@ -5057,7 +5056,7 @@ objc_build_message_expr (tree mess)
/* Build the parameter list to give to the method. */ /* Build the parameter list to give to the method. */
if (TREE_CODE (args) == TREE_LIST) if (TREE_CODE (args) == TREE_LIST)
#ifdef OBJCPLUS #ifdef OBJCPLUS
method_params = chainon (args, TREE_VALUE (TREE_VALUE (mess))); method_params = chainon (args, TREE_VALUE (message_args));
#else #else
{ {
tree chain = args, prev = NULL_TREE; tree chain = args, prev = NULL_TREE;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment