summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-19 03:57:21 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-19 03:57:21 +0000
commitfa8f03c4c92d2f2b4c1edce23065edaab03600a7 (patch)
treefb478d9a5ba65e65e1aaf8e6479c51f09ef1961b
parent9fcb4fb7f41fc0a49989bf67e6c998d37d8e3b10 (diff)
downloadppe42-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/ChangeLog7
-rw-r--r--libjava/testsuite/libjava.lang/PR20056.java13
-rw-r--r--libjava/testsuite/libjava.lang/PR20056.out1
-rw-r--r--libjava/verify.cc8
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)
OpenPOWER on IntegriCloud