diff options
author | Tom Tromey <tromey@redhat.com> | 2006-05-26 15:41:46 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2006-05-26 15:41:46 +0000 |
commit | 153d08d59b0aba73ff4f8a525138ff7a38f0b517 (patch) | |
tree | 88690a510261c7f1c3fc40c4ca51027140d15d66 /gcc/java/verify-impl.c | |
parent | 7541c31ba2afb0b9e5c7893117d8f63a1a7b0e41 (diff) | |
download | gcc-153d08d59b0aba73ff4f8a525138ff7a38f0b517.zip gcc-153d08d59b0aba73ff4f8a525138ff7a38f0b517.tar.gz gcc-153d08d59b0aba73ff4f8a525138ff7a38f0b517.tar.bz2 |
expr.c (java_push_constant_from_pool): Handle 'ldc class'.
* expr.c (java_push_constant_from_pool): Handle 'ldc class'.
* verify-glue.c (vfy_class_type): New function.
* verify-impl.c (check_constant): Allow 'ldc class'.
* verify.h (vfy_class_type): Declare.
From-SVN: r114135
Diffstat (limited to 'gcc/java/verify-impl.c')
-rw-r--r-- | gcc/java/verify-impl.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/java/verify-impl.c b/gcc/java/verify-impl.c index f672fcf..886dfe7 100644 --- a/gcc/java/verify-impl.c +++ b/gcc/java/verify-impl.c @@ -1975,6 +1975,10 @@ check_constant (int index) init_type_from_tag (&t, int_type); else if (vfy_tag (pool, index) == JV_CONSTANT_Float) init_type_from_tag (&t, float_type); + else if (vfy_tag (pool, index) == JV_CONSTANT_Class + || vfy_tag (pool, index) == JV_CONSTANT_ResolvedClass) + /* FIXME: should only allow this for 1.5 bytecode. */ + init_type_from_class (&t, vfy_class_type ()); else verify_fail_pc ("String, int, or float constant expected", vfr->start_PC); return t; |