diff options
author | Per Bothner <bothner@gcc.gnu.org> | 1998-12-12 13:48:07 -0800 |
---|---|---|
committer | Per Bothner <bothner@gcc.gnu.org> | 1998-12-12 13:48:07 -0800 |
commit | 091c8dfd4c09098d29f8bd129d993e8a7788d61a (patch) | |
tree | e7d3b4a8e356829d88d60bb6369360c08aa7d446 /gcc/java/class.c | |
parent | 4cc4a45b0395603ae36223aa977075b129ea1935 (diff) | |
download | gcc-091c8dfd4c09098d29f8bd129d993e8a7788d61a.zip gcc-091c8dfd4c09098d29f8bd129d993e8a7788d61a.tar.gz gcc-091c8dfd4c09098d29f8bd129d993e8a7788d61a.tar.bz2 |
Loks of changes so we can better compile from source.
�
Loks of changes so we can better compile from source. See ChangeLog.
From-SVN: r24278
Diffstat (limited to 'gcc/java/class.c')
-rw-r--r-- | gcc/java/class.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/java/class.c b/gcc/java/class.c index 76f2cb2..49c543b 100644 --- a/gcc/java/class.c +++ b/gcc/java/class.c @@ -637,6 +637,34 @@ build_class_ref (type) { char *name; char buffer[25]; + if (flag_emit_class_files) + { + char *prim_class_name; + tree prim_class; + if (type == char_type_node) + prim_class_name = "java.lang.Character"; + else if (type == boolean_type_node) + prim_class_name = "java.lang.Boolean"; + else if (type == byte_type_node) + prim_class_name = "java.lang.Byte"; + else if (type == short_type_node) + prim_class_name = "java.lang.Short"; + else if (type == int_type_node) + prim_class_name = "java.lang.Integer"; + else if (type == long_type_node) + prim_class_name = "java.lang.Long"; + else if (type == float_type_node) + prim_class_name = "java.lang.Float"; + else if (type == double_type_node) + prim_class_name = "java.lang.Double"; + else if (type == void_type_node) + prim_class_name = "java.lang.Void"; + else + fatal ("internal error - bad type to build_class_ref"); + prim_class = lookup_class (get_identifier (prim_class_name)); + return build (COMPONENT_REF, NULL_TREE, + prim_class, TYPE_identifier_node); + } decl_name = TYPE_NAME (type); if (TREE_CODE (decl_name) == TYPE_DECL) decl_name = DECL_NAME (decl_name); |