diff options
author | Ranjit Mathew <rmathew@hotmail.com> | 2004-04-30 18:19:37 +0000 |
---|---|---|
committer | Ranjit Mathew <rmathew@gcc.gnu.org> | 2004-04-30 18:19:37 +0000 |
commit | 55ce9c52a2a92950c252e8d5a34a3b018448df11 (patch) | |
tree | 6b89dbbf7c15425987ef61a507b3be356eb69537 /libjava | |
parent | 3fb577a58935b9b1be60200000422ead1a69f561 (diff) | |
download | gcc-55ce9c52a2a92950c252e8d5a34a3b018448df11.zip gcc-55ce9c52a2a92950c252e8d5a34a3b018448df11.tar.gz gcc-55ce9c52a2a92950c252e8d5a34a3b018448df11.tar.bz2 |
re PR java/15133 (gcjh generates wrong method signatures)
* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Use
additional option "-Wmissing-prototypes" for compiling C sources.
Print actual filename for pass/fail rather than $name.c.
* testsuite/libjava.jni/PR15133.java: New testcase file.
* testsuite/libjava.jni/PR15133.c: Likewise.
* testsuite/libjava.jni/PR15133.out: Likewise.
Co-Authored-By: Tom Tromey <tromey@redhat.com>
From-SVN: r81358
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/ChangeLog | 10 | ||||
-rw-r--r-- | libjava/testsuite/libjava.jni/PR15133.c | 9 | ||||
-rw-r--r-- | libjava/testsuite/libjava.jni/PR15133.java | 14 | ||||
-rw-r--r-- | libjava/testsuite/libjava.jni/PR15133.out | 1 | ||||
-rw-r--r-- | libjava/testsuite/libjava.jni/jni.exp | 15 |
5 files changed, 46 insertions, 3 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index d62ca38..e2968ca 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,13 @@ +2004-04-30 Ranjit Mathew <rmathew@hotmail.com> + Tom Tromey <tromey@redhat.com> + + * testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Use + additional option "-Wmissing-prototypes" for compiling C sources. + Print actual filename for pass/fail rather than $name.c. + * testsuite/libjava.jni/PR15133.java: New testcase file. + * testsuite/libjava.jni/PR15133.c: Likewise. + * testsuite/libjava.jni/PR15133.out: Likewise. + 2004-04-30 Roger Sayle <roger@eyesopen.com> * testsuite/libjava.lang/MathBuiltin.java: Add tests for acos, asin, diff --git a/libjava/testsuite/libjava.jni/PR15133.c b/libjava/testsuite/libjava.jni/PR15133.c new file mode 100644 index 0000000..be5a48e --- /dev/null +++ b/libjava/testsuite/libjava.jni/PR15133.c @@ -0,0 +1,9 @@ +#include <stdio.h> +#include <jni.h> +#include "PR15133.h" + +JNIEXPORT void JNICALL +Java_PR15133_printIt (JNIEnv *env, jobject x, jint y) +{ + printf ("%d\n", y); +} diff --git a/libjava/testsuite/libjava.jni/PR15133.java b/libjava/testsuite/libjava.jni/PR15133.java new file mode 100644 index 0000000..9043576 --- /dev/null +++ b/libjava/testsuite/libjava.jni/PR15133.java @@ -0,0 +1,14 @@ +/* Test case for PR java/15133 */ +public class PR15133 +{ + public void printIt (String dummy) { } + + public native void printIt (int num); + + public static void main (String[] args) + { + System.loadLibrary ("PR15133"); + + new PR15133( ).printIt( 1729); + } +} diff --git a/libjava/testsuite/libjava.jni/PR15133.out b/libjava/testsuite/libjava.jni/PR15133.out new file mode 100644 index 0000000..32bb421 --- /dev/null +++ b/libjava/testsuite/libjava.jni/PR15133.out @@ -0,0 +1 @@ +1729 diff --git a/libjava/testsuite/libjava.jni/jni.exp b/libjava/testsuite/libjava.jni/jni.exp index 7dad519..a4bf4b8 100644 --- a/libjava/testsuite/libjava.jni/jni.exp +++ b/libjava/testsuite/libjava.jni/jni.exp @@ -21,12 +21,21 @@ proc gcj_jni_compile_c_to_so {file {options {}}} { set so_extension "so" set so_flag "-shared" } - set name [file rootname [file tail $file]] + set filename [file tail $file] + set name [file rootname $filename] set soname lib${name}.${so_extension} lappend options "additional_flags=${so_flag} -fPIC" # Find the generated header. lappend options "additional_flags=-I. -I.." + + # Ensure that the generated header has correct prototypes. + set cfile [file rootname $file].c + if { [file exists $cfile]} { + # This option is only valid for C sources. + lappend options "additional_flags=-Wmissing-prototypes" + } + # Find jni.h. lappend options "additional_flags=-I$srcdir/../include" @@ -34,11 +43,11 @@ proc gcj_jni_compile_c_to_so {file {options {}}} { [target_compile $file $soname executable $options]] if {$x != ""} { verbose "target_compile failed: $x" 2 - fail "$name.c compilation" + fail "$filename compilation" return 0 } - pass "$name.c compilation" + pass "$filename compilation" return 1 } |