From 153d08d59b0aba73ff4f8a525138ff7a38f0b517 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 26 May 2006 15:41:46 +0000 Subject: 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 --- gcc/java/expr.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'gcc/java/expr.c') diff --git a/gcc/java/expr.c b/gcc/java/expr.c index b2e03fc..94f76fd 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -3117,6 +3117,12 @@ java_push_constant_from_pool (JCF *jcf, int index) c = build_ref_from_constant_pool (index); c = convert (promote_type (string_type_node), c); } + else if (JPOOL_TAG (jcf, index) == CONSTANT_Class + || JPOOL_TAG (jcf, index) == CONSTANT_ResolvedClass) + { + tree record = get_class_constant (jcf, index); + c = build_class_ref (record); + } else c = get_constant (jcf, index); push_value (c); -- cgit v1.1