aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPer Bothner <bothner@gcc.gnu.org>1998-08-20 09:43:59 -0700
committerPer Bothner <bothner@gcc.gnu.org>1998-08-20 09:43:59 -0700
commitf668f16016466557738402723df012f81a588ae7 (patch)
tree7c021b2b3d1931bde74d15734bbaad9cbde4d179
parent743f140d46759b39745c55bd081b1e92b6335ffc (diff)
downloadgcc-f668f16016466557738402723df012f81a588ae7.zip
gcc-f668f16016466557738402723df012f81a588ae7.tar.gz
gcc-f668f16016466557738402723df012f81a588ae7.tar.bz2
Handle new'ing of Java classes.
( Handle new'ing of Java classes. * init.c (build_class_classref): New function. (build_new_1): If type is TYPE_FOR_JAVA: Call _Jv_AllocObject; constructor does not return this; don't need to exception-protect. * pt.c (lookup_template_class): Copy TYPE_FOR_JAVA flag. * decl2.c (acceptable_java_type): Handle template-derived types. From-SVN: r21880
-rw-r--r--gcc/cp/pt.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index a04921c..73b00c7 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -3394,6 +3394,7 @@ lookup_template_class (d1, arglist, in_decl, context, entering_scope)
= CLASSTYPE_DECLARED_CLASS (template_type);
CLASSTYPE_GOT_SEMICOLON (t) = 1;
SET_CLASSTYPE_IMPLICIT_INSTANTIATION (t);
+ TYPE_FOR_JAVA (t) = TYPE_FOR_JAVA (template_type);
}
/* If we called tsubst_enum above, this information will already