diff options
author | Nicola Pero <nicola.pero@meta-innovation.com> | 2011-04-12 19:02:14 +0000 |
---|---|---|
committer | Nicola Pero <nicola@gcc.gnu.org> | 2011-04-12 19:02:14 +0000 |
commit | eb345401a1a2f6408fddd8538466be1143a95177 (patch) | |
tree | dd0661e72bba2ceb2c1565779cd6d02900e5e871 /gcc/objc | |
parent | dc2dc51254b9c3802424e2d3fc9cbb3d73fff909 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/objc/objc-act.c | 9 |
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; |