aboutsummaryrefslogtreecommitdiff
path: root/gcc/objc
diff options
context:
space:
mode:
authorNicola Pero <nicola.pero@meta-innovation.com>2011-04-12 19:02:14 +0000
committerNicola Pero <nicola@gcc.gnu.org>2011-04-12 19:02:14 +0000
commiteb345401a1a2f6408fddd8538466be1143a95177 (patch)
treedd0661e72bba2ceb2c1565779cd6d02900e5e871 /gcc/objc
parentdc2dc51254b9c3802424e2d3fc9cbb3d73fff909 (diff)
downloadgcc-eb345401a1a2f6408fddd8538466be1143a95177.zip
gcc-eb345401a1a2f6408fddd8538466be1143a95177.tar.gz
gcc-eb345401a1a2f6408fddd8538466be1143a95177.tar.bz2
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
Diffstat (limited to 'gcc/objc')
-rw-r--r--gcc/objc/ChangeLog6
-rw-r--r--gcc/objc/objc-act.c9
2 files changed, 10 insertions, 5 deletions
diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog
index 59bf50e..110de87 100644
--- a/gcc/objc/ChangeLog
+++ b/gcc/objc/ChangeLog
@@ -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 (comp_proto_with_proto): Do not create and use
inefficient temporary argument lists. Compare the arguments
directly. (match_proto_with_proto): Removed; incorporated into
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c
index a0651f6..2f6613c 100644
--- a/gcc/objc/objc-act.c
+++ b/gcc/objc/objc-act.c
@@ -5026,14 +5026,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;
@@ -5057,7 +5056,7 @@ objc_build_message_expr (tree mess)
/* 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;