Loks of changes so we can better compile from source.
authorPer Bothner <bothner@gcc.gnu.org>
Sat, 12 Dec 1998 21:48:07 +0000 (13:48 -0800)
committerPer Bothner <bothner@gcc.gnu.org>
Sat, 12 Dec 1998 21:48:07 +0000 (13:48 -0800)

Loks of changes so we can better compile from source.  See ChangeLog.

From-SVN: r24278

gcc/java/class.c
gcc/java/jcf-dump.c

index 76f2cb28b0ef662f2d8aa2d84fe6ca755755195d..49c543b81c797cbb716e21c43bc9cb88eb98c31d 100644 (file)
@@ -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);
index f9be7bdf28f266170dae9da9dccb4c353a54463c..d5a47b32d801fe67a5369050aa8f00752e8627d1 100644 (file)
@@ -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)