OSDN Git Service

Fix PA problem in order of initializations.
authorsamuel <samuel@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 23 Sep 1999 20:34:19 +0000 (20:34 +0000)
committersamuel <samuel@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 23 Sep 1999 20:34:19 +0000 (20:34 +0000)
* emit-rtl.c (init_emit_once): Initialize modes first.

        Also add missing ChangeLog entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29635 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/emit-rtl.c

index 553f6b2..032c57b 100644 (file)
@@ -1,3 +1,26 @@
+Thu Sep 23 12:54:49 1999  Alex Samuel  <samuel@codesourcery.com>
+
+       * emit-rtl.c (init_emit_once): Initialize modes first.
+
+Sun Sep 19 01:23:23 1999  Alex Samuel  <samuel@codesourcery.com>
+
+       * config/i386/i386.c (pic_label_name): Change to char pointer.
+       (global_offset_table): New variable.
+       (load_pic_register): Fill global_offset_table if it hasn't
+       already been done.  Allocate pic_label_name dynamically.
+       * ggc.h (empty_string): New variable.
+       * ggc-simple.c (empty_string): Likewise.
+       (init_ggc): Allocate empty_string and add as root.
+       * stmt.c (digit_strings): New variable.
+       (init_stmt): Add last_block_end_note as root.  Allocate and
+       initialize digit_strings. 
+       (expand_asm_operands): Use empty_string instead of string
+       constant.  Use digit_strings instead of string constants.
+       * profile.c (init_arc_profiler): Allocate string with
+       ggc_alloc_string instead of xmalloc.
+       (output_func_start_profiler): Likewise.
+       * c-typeck.c (digest_init): Check if init is error_mark_node.
+
 Wed Sep 22 12:04:58 1999  Jason Merrill  <jason@yorick.cygnus.com>
 
        * cpplib.c (handle_directive): Don't complain about `# NUMBER' if
index 5a339a4..3d59220 100644 (file)
@@ -3495,6 +3495,38 @@ init_emit_once (line_numbers)
 
   no_line_numbers = ! line_numbers;
 
+  /* Compute the word and byte modes.  */
+
+  byte_mode = VOIDmode;
+  word_mode = VOIDmode;
+  double_mode = VOIDmode;
+
+  for (mode = GET_CLASS_NARROWEST_MODE (MODE_INT); mode != VOIDmode;
+       mode = GET_MODE_WIDER_MODE (mode))
+    {
+      if (GET_MODE_BITSIZE (mode) == BITS_PER_UNIT
+         && byte_mode == VOIDmode)
+       byte_mode = mode;
+
+      if (GET_MODE_BITSIZE (mode) == BITS_PER_WORD
+         && word_mode == VOIDmode)
+       word_mode = mode;
+    }
+
+#ifndef DOUBLE_TYPE_SIZE
+#define DOUBLE_TYPE_SIZE (BITS_PER_WORD * 2)
+#endif
+
+  for (mode = GET_CLASS_NARROWEST_MODE (MODE_FLOAT); mode != VOIDmode;
+       mode = GET_MODE_WIDER_MODE (mode))
+    {
+      if (GET_MODE_BITSIZE (mode) == DOUBLE_TYPE_SIZE
+         && double_mode == VOIDmode)
+       double_mode = mode;
+    }
+
+  ptr_mode = mode_for_size (POINTER_SIZE, GET_MODE_CLASS (Pmode), 0);
+
   /* Assign register numbers to the globally defined register rtx.
      This must be done at runtime because the register number field
      is in a union and some compilers can't initialize unions.  */
@@ -3530,38 +3562,6 @@ init_emit_once (line_numbers)
   INIT_EXPANDERS;
 #endif
 
-  /* Compute the word and byte modes.  */
-
-  byte_mode = VOIDmode;
-  word_mode = VOIDmode;
-  double_mode = VOIDmode;
-
-  for (mode = GET_CLASS_NARROWEST_MODE (MODE_INT); mode != VOIDmode;
-       mode = GET_MODE_WIDER_MODE (mode))
-    {
-      if (GET_MODE_BITSIZE (mode) == BITS_PER_UNIT
-         && byte_mode == VOIDmode)
-       byte_mode = mode;
-
-      if (GET_MODE_BITSIZE (mode) == BITS_PER_WORD
-         && word_mode == VOIDmode)
-       word_mode = mode;
-    }
-
-#ifndef DOUBLE_TYPE_SIZE
-#define DOUBLE_TYPE_SIZE (BITS_PER_WORD * 2)
-#endif
-
-  for (mode = GET_CLASS_NARROWEST_MODE (MODE_FLOAT); mode != VOIDmode;
-       mode = GET_MODE_WIDER_MODE (mode))
-    {
-      if (GET_MODE_BITSIZE (mode) == DOUBLE_TYPE_SIZE
-         && double_mode == VOIDmode)
-       double_mode = mode;
-    }
-
-  ptr_mode = mode_for_size (POINTER_SIZE, GET_MODE_CLASS (Pmode), 0);
-
   /* Create the unique rtx's for certain rtx codes and operand values.  */
 
   /* Don't use gen_rtx here since gen_rtx in this case