aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2011-08-18 14:47:32 +0000
committerTom Tromey <tromey@gcc.gnu.org>2011-08-18 14:47:32 +0000
commit901ebcdf97fefd24e464f98593bfa6dc741d4525 (patch)
tree74db74b8da18fcf4eb30ccddeb91e657e10dfb54 /gcc/java
parentf44157f84be4cc82697697136464ed7711595aa5 (diff)
downloadgcc-901ebcdf97fefd24e464f98593bfa6dc741d4525.zip
gcc-901ebcdf97fefd24e464f98593bfa6dc741d4525.tar.gz
gcc-901ebcdf97fefd24e464f98593bfa6dc741d4525.tar.bz2
2011-08-18 Peter Collingbourne <peter@pcc.me.uk>
* expr.c (expand_invoke) Use the type of the method rewrite target. From-SVN: r177862
Diffstat (limited to 'gcc/java')
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/expr.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 11515f0..8e39011 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,8 @@
+2011-08-18 Peter Collingbourne <peter@pcc.me.uk>
+
+ * expr.c (expand_invoke) Use the type of the method rewrite
+ target.
+
2011-08-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* jcf-dump.c (print_constant): Cast first frexp arg.
diff --git a/gcc/java/expr.c b/gcc/java/expr.c
index 4686f30..ec2d9b6 100644
--- a/gcc/java/expr.c
+++ b/gcc/java/expr.c
@@ -2544,12 +2544,12 @@ expand_invoke (int opcode, int method_ref_index, int nargs ATTRIBUTE_UNUSED)
return;
}
- method_type = TREE_TYPE (method);
- arg_list = pop_arguments (method_type);
+ arg_list = pop_arguments (TREE_TYPE (method));
flush_quick_stack ();
maybe_rewrite_invocation (&method, &arg_list, &method_signature,
&special);
+ method_type = TREE_TYPE (method);
func = NULL_TREE;
if (opcode == OPCODE_invokestatic)