re PR java/20056 ('verification failed: incompatible type on stack' with --indirect-dispatch)
PR java/20056: * verify.cc (type::equals): Fixed test. * testsuite/libjava.lang/PR20056.out: New file. * testsuite/libjava.lang/PR20056.java: New file. From-SVN: r95266
This commit is contained in:
parent
e863ccf328
commit
b55cb4a133
4 changed files with 25 additions and 4 deletions
|
@ -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,
|
||||
|
|
13
libjava/testsuite/libjava.lang/PR20056.java
Normal file
13
libjava/testsuite/libjava.lang/PR20056.java
Normal file
|
@ -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");
|
||||
}
|
||||
}
|
1
libjava/testsuite/libjava.lang/PR20056.out
Normal file
1
libjava/testsuite/libjava.lang/PR20056.out
Normal file
|
@ -0,0 +1 @@
|
|||
maude
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue