diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-02-19 03:57:21 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-02-19 03:57:21 +0000 |
commit | fa8f03c4c92d2f2b4c1edce23065edaab03600a7 (patch) | |
tree | fb478d9a5ba65e65e1aaf8e6479c51f09ef1961b | |
parent | 9fcb4fb7f41fc0a49989bf67e6c998d37d8e3b10 (diff) | |
download | ppe42-gcc-fa8f03c4c92d2f2b4c1edce23065edaab03600a7.tar.gz ppe42-gcc-fa8f03c4c92d2f2b4c1edce23065edaab03600a7.zip |
PR java/20056:
* verify.cc (type::equals): Fixed test.
* testsuite/libjava.lang/PR20056.out: New file.
* testsuite/libjava.lang/PR20056.java: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95266 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | libjava/ChangeLog | 7 | ||||
-rw-r--r-- | libjava/testsuite/libjava.lang/PR20056.java | 13 | ||||
-rw-r--r-- | libjava/testsuite/libjava.lang/PR20056.out | 1 | ||||
-rw-r--r-- | libjava/verify.cc | 8 |
4 files changed, 25 insertions, 4 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 808f5273589..11b32285ebb 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,10 @@ +2005-02-18 Tom Tromey <tromey@redhat.com> + + PR java/20056: + * verify.cc (type::equals): Fixed test. + * testsuite/libjava.lang/PR20056.out: New file. + * testsuite/libjava.lang/PR20056.java: New file. + 2005-02-18 Bryce McKinlay <mckinlay@redhat.com> * java/util/LinkedHashMap (addEntry): Call remove() with key argument, diff --git a/libjava/testsuite/libjava.lang/PR20056.java b/libjava/testsuite/libjava.lang/PR20056.java new file mode 100644 index 00000000000..f73eb7f048b --- /dev/null +++ b/libjava/testsuite/libjava.lang/PR20056.java @@ -0,0 +1,13 @@ +public class PR20056 { + int x; + PR20056(int x) {} + PR20056(PR20056 f) { + // The verifier rejected the generated code in this case. + this(f.x = 0); + } + + public static void main(String[] args) + { + System.out.println("maude"); + } +} diff --git a/libjava/testsuite/libjava.lang/PR20056.out b/libjava/testsuite/libjava.lang/PR20056.out new file mode 100644 index 00000000000..b3668c4d4d6 --- /dev/null +++ b/libjava/testsuite/libjava.lang/PR20056.out @@ -0,0 +1 @@ +maude diff --git a/libjava/verify.cc b/libjava/verify.cc index 9df031634fa..a8093070e96 100644 --- a/libjava/verify.cc +++ b/libjava/verify.cc @@ -754,10 +754,10 @@ private: bool equals (const type &other, _Jv_BytecodeVerifier *vfy) { // Only works for reference types. - if (key != reference_type - || key != uninitialized_reference_type - || other.key != reference_type - || other.key != uninitialized_reference_type) + if ((key != reference_type + && key != uninitialized_reference_type) + || (other.key != reference_type + && other.key != uninitialized_reference_type)) return false; // Only for single-valued types. if (klass->ref_next || other.klass->ref_next) |