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 | |
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')
-rw-r--r-- | gcc/java/class.c | 28 | ||||
-rw-r--r-- | gcc/java/jcf-dump.c | 2 |
2 files changed, 29 insertions, 1 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); diff --git a/gcc/java/jcf-dump.c b/gcc/java/jcf-dump.c index f9be7bd..d5a47b3 100644 --- a/gcc/java/jcf-dump.c +++ b/gcc/java/jcf-dump.c @@ -792,7 +792,7 @@ DEFUN(main, (argc, argv), for (; argi < argc; argi++) { char *arg = argv[argi]; - char* class_filename = find_class (arg, strlen (arg), jcf, 1); + char* class_filename = find_class (arg, strlen (arg), jcf, 0); if (class_filename == NULL) class_filename = find_classfile (arg, jcf, NULL); if (class_filename == NULL) |