From: Tom Tromey Date: Mon, 14 Feb 2005 20:04:36 +0000 (+0000) Subject: re PR java/19921 (wrong argument count for invokeInterface with new multidimensional... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=adfec6a67bf360ba3698d732cce1a731692b578c;p=gcc.git re PR java/19921 (wrong argument count for invokeInterface with new multidimensional array) gcc/java: PR java/19921: * jcf-write.c (generate_bytecode_insns) : Note the stack effect of multianewarray. libjava: For PR java/19929: * testsuite/libjava.lang/PR19929.out: New file. * testsuite/libjava.lang/PR19929.java: New file. From-SVN: r95041 --- diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 22f9176b9a6..02d12c161b9 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2005-02-14 Tom Tromey + + PR java/19921: + * jcf-write.c (generate_bytecode_insns) : Note the + stack effect of multianewarray. + 2005-02-14 Andrew Haley PR java/19907 diff --git a/gcc/java/jcf-write.c b/gcc/java/jcf-write.c index 603eaa51ee9..87790408d13 100644 --- a/gcc/java/jcf-write.c +++ b/gcc/java/jcf-write.c @@ -2572,6 +2572,7 @@ generate_bytecode_insns (tree exp, int target, struct jcf_partial *state) OP1 (OPCODE_multianewarray); OP2 (index); OP1 (ndims); + NOTE_POP (ndims - 1); break; } else if (f == soft_anewarray_node) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 1e727762f7a..6c9254bd015 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2005-02-14 Tom Tromey + + For PR java/19929: + * testsuite/libjava.lang/PR19929.out: New file. + * testsuite/libjava.lang/PR19929.java: New file. + 2005-02-14 Anthony Green PR libgcj/18116 diff --git a/libjava/testsuite/libjava.lang/PR19929.java b/libjava/testsuite/libjava.lang/PR19929.java new file mode 100644 index 00000000000..f1deea25397 --- /dev/null +++ b/libjava/testsuite/libjava.lang/PR19929.java @@ -0,0 +1,11 @@ +interface I { + void f(Object x); +} + +class PR19929 { + static void g(I i) { + // gcj used to create invalid bytecode for this. + i.f(new Object[1][1]); + } + public static void main(String[] args) { } +} diff --git a/libjava/testsuite/libjava.lang/PR19929.out b/libjava/testsuite/libjava.lang/PR19929.out new file mode 100644 index 00000000000..e69de29bb2d