Fix PA problem in order of initializations.
* emit-rtl.c (init_emit_once): Initialize modes first. Also add missing ChangeLog entry. From-SVN: r29635
This commit is contained in:
parent
e6ad5e9044
commit
43fa63024d
@ -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>
|
Wed Sep 22 12:04:58 1999 Jason Merrill <jason@yorick.cygnus.com>
|
||||||
|
|
||||||
* cpplib.c (handle_directive): Don't complain about `# NUMBER' if
|
* cpplib.c (handle_directive): Don't complain about `# NUMBER' if
|
||||||
|
@ -3495,6 +3495,38 @@ init_emit_once (line_numbers)
|
|||||||
|
|
||||||
no_line_numbers = ! 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.
|
/* Assign register numbers to the globally defined register rtx.
|
||||||
This must be done at runtime because the register number field
|
This must be done at runtime because the register number field
|
||||||
is in a union and some compilers can't initialize unions. */
|
is in a union and some compilers can't initialize unions. */
|
||||||
@ -3530,38 +3562,6 @@ init_emit_once (line_numbers)
|
|||||||
INIT_EXPANDERS;
|
INIT_EXPANDERS;
|
||||||
#endif
|
#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. */
|
/* Create the unique rtx's for certain rtx codes and operand values. */
|
||||||
|
|
||||||
/* Don't use gen_rtx here since gen_rtx in this case
|
/* Don't use gen_rtx here since gen_rtx in this case
|
||||||
|
Loading…
Reference in New Issue
Block a user