* alpha.c (unicosmk_special_name): Prototype.
(unicosmk_ssib_name): Delete unused variable.
* alpha/unicosmk.h (common_section, ssib_section): Prototype.
* alpha/vms.h (PREFIX): Undef before defining.
* arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
* i370/i370.c (mvs_hash_alias): Prototype. Wrap with macro
controlling usage. Const-ify.
(alias_number): Delete unused variable.
* m32r/m32r.c (m32r_sched_init): Add missing argument.
(m32r_expand_block_move): Fix uninitialized warnings.
* mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
always true' warnings.
* openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
* sh/sh.c: Include "integrate.h".
(output_far_jump): Fix uninitialized warning.
* final.c (shorten_branches): Avoid automatic aggregate
initialization.
* integrate.c (subst_constants): Likewise.
From-SVN: r46932
+2001-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * alpha.c (unicosmk_special_name): Prototype.
+ (unicosmk_ssib_name): Delete unused variable.
+ * alpha/unicosmk.h (common_section, ssib_section): Prototype.
+ * alpha/vms.h (PREFIX): Undef before defining.
+ * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
+ * i370/i370.c (mvs_hash_alias): Prototype. Wrap with macro
+ controlling usage. Const-ify.
+ (alias_number): Delete unused variable.
+ * m32r/m32r.c (m32r_sched_init): Add missing argument.
+ (m32r_expand_block_move): Fix uninitialized warnings.
+ * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
+ always true' warnings.
+ * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
+ * sh/sh.c: Include "integrate.h".
+ (output_far_jump): Fix uninitialized warning.
+ * final.c (shorten_branches): Avoid automatic aggregate
+ initialization.
+ * integrate.c (subst_constants): Likewise.
+
2001-11-11 Kazu Hirata <kazu@hxi.com>
* config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
static void unicosmk_output_externs PARAMS ((FILE *));
static void unicosmk_output_addr_vec PARAMS ((FILE *, rtx));
static const char *unicosmk_ssib_name PARAMS ((void));
-
+static int unicosmk_special_name PARAMS ((const char *));
/* Define the offset between two registers, one to be eliminated, and the
other its replacement, at the start of a routine. */
rtx x;
const char *fnname;
- char *ssib_name;
int len;
x = DECL_RTL (cfun->decl);
COMMON_SECTION \
SSIB_SECTION
+extern void common_section PARAMS ((void));
#define COMMON_SECTION \
void \
common_section () \
in_section = in_common; \
}
+extern void ssib_section PARAMS ((void));
#define SSIB_SECTION \
void \
ssib_section () \
#define DIR_SEPARATOR ']'
+#undef PREFIX
#define PREFIX "GNU_ROOT:"
/* XXX Really? Even with modern CRTL? */
#define ARM_PE_FLAG_CHAR '@'
/* Ensure that @x. will be stripped from the function name. */
+#undef SUBTARGET_NAME_ENCODING_LENGTHS
#define SUBTARGET_NAME_ENCODING_LENGTHS \
case ARM_PE_FLAG_CHAR: return 3;
static void i370_label_scan PARAMS ((void));
static void i370_output_function_prologue PARAMS ((FILE *, HOST_WIDE_INT));
static void i370_output_function_epilogue PARAMS ((FILE *, HOST_WIDE_INT));
+#ifdef LONGEXTERNAL
+static int mvs_hash_alias PARAMS ((const char *));
+#endif
/* ===================================================== */
/* defines and functions specific to the HLASM assembler */
/* Alias node list anchor. */
static alias_node_t *alias_anchor = 0;
-/* Alias number */
-static int alias_number = 0;
-
/* Define the length of the internal MVS function table. */
#define MVS_FUNCTION_TABLE_LENGTH 32
/* Generate a hash for a given key. */
+#ifdef LONGEXTERNAL
static int
mvs_hash_alias (key)
- char *key;
+ const char *key;
{
int h;
int i;
h = ((h * MVS_SET_SIZE) + key[i]) % MVS_HASH_PRIME;
return (h);
}
-
+#endif
/* Add the alias to the current alias list. */
static int m32r_adjust_cost PARAMS ((rtx, rtx, rtx, int));
static int m32r_adjust_priority PARAMS ((rtx, int));
-static void m32r_sched_init PARAMS ((FILE *, int));
+static void m32r_sched_init PARAMS ((FILE *, int, int));
static int m32r_sched_reorder PARAMS ((FILE *, int, rtx *, int *, int));
static int m32r_variable_issue PARAMS ((FILE *, int, rtx, int));
static int m32r_issue_rate PARAMS ((void));
/* Initialize for scheduling a group of instructions. */
static void
-m32r_sched_init (stream, verbose)
+m32r_sched_init (stream, verbose, max_ready)
FILE * stream ATTRIBUTE_UNUSED;
int verbose ATTRIBUTE_UNUSED;
+ int max_ready ATTRIBUTE_UNUSED;
{
m32r_sched_odd_word_p = FALSE;
}
/* If necessary, generate a loop to handle the bulk of the copy. */
if (bytes)
{
- rtx label;
- rtx final_src;
+ rtx label = NULL_RTX;
+ rtx final_src = NULL_RTX;
rtx at_a_time = GEN_INT (MAX_MOVE_BYTES);
rtx rounded_total = GEN_INT (bytes);
#ifndef REG_OK_STRICT
# define REGNO_IN_RANGE_P(regno,min,max) \
- (((regno) >= (min) && (regno) <= (max)) || (regno) >= FIRST_PSEUDO_REGISTER)
+ (IN_RANGE ((regno), (min), (max)) || (regno) >= FIRST_PSEUDO_REGISTER)
#else
# define REGNO_IN_RANGE_P(regno,min,max) \
(IN_RANGE ((regno), (min), (max)) \
/* Implicit calls to library routines. */
/* Use memcpy and memset instead of bcopy and bzero. */
+#ifndef TARGET_MEM_FUNCTIONS
#define TARGET_MEM_FUNCTIONS
+#endif
/* Miscellaneous parameters. */
#include "toplev.h"
#include "recog.h"
#include "c-pragma.h"
+#include "integrate.h"
#include "tm_p.h"
#include "target.h"
#include "target-def.h"
rtx op;
{
struct { rtx lab, reg, op; } this;
- rtx braf_base_lab;
+ rtx braf_base_lab = NULL_RTX;
const char *jump;
int far;
int offset = branch_dest (insn) - INSN_ADDRESSES (INSN_UID (insn));
rtx rel_lab = XEXP (XEXP (body, 0), 0);
rtx min_lab = XEXP (XEXP (body, 2), 0);
rtx max_lab = XEXP (XEXP (body, 3), 0);
- addr_diff_vec_flags flags = ADDR_DIFF_VEC_FLAGS (body);
int rel_addr = INSN_ADDRESSES (INSN_UID (rel_lab));
int min_addr = INSN_ADDRESSES (INSN_UID (min_lab));
int max_addr = INSN_ADDRESSES (INSN_UID (max_lab));
rtx prev;
int rel_align = 0;
+ addr_diff_vec_flags flags;
+
+ /* Avoid automatic aggregate initialization. */
+ flags = ADDR_DIFF_VEC_FLAGS (body);
/* Try to find a known alignment for rel_lab. */
for (prev = rel_lab;
new = CONST0_RTX (mode);
else
{
- REAL_VALUE_TYPE val = FLOAT_STORE_FLAG_VALUE (mode);
+ REAL_VALUE_TYPE val;
+
+ /* Avoid automatic aggregate initialization. */
+ val = FLOAT_STORE_FLAG_VALUE (mode);
new = CONST_DOUBLE_FROM_REAL_VALUE (val, mode);
}
}