static_dtors.
* calls.c (expand_call): Bracket declaration of 'rtx_before_call',
'old_stack_arg_under_construction'
(emit_library_call): Bracket declaration of 'upper_bound',
'lower_bound', 'i', 'reg_parm_stack_space'
(emit_library_call_value): Likewise.
(store_one_arg):
* collect2.c: include <unistd.h> when appropriate.
Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
* emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
* explow.c (plus_constant_for_output_wide): Remove unused variable
'code'.
(memory_address): Remove unused variable 'orig_x'.
* genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
(write_const_num_delay_slots): Remove unused variable 'i'.
* genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
(gen_insn): Remove unused variable 'obstack_ptr'.
* libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
'j', 'tmp', 'i'.
(__bb_exit_trace_func): Remove unused variable 'e'.
* optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
'funexp'.
(expand_unop): Remove unused variable 'funexp'.
(expand_complex_abs): Remove unused variable 'funexp'.
(init_optabs): Bracket declaration of 'j'.
(init_complex_libfuncs): Deleted. Dead static function.
* profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
* reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
(reg_to_stack): 'initialized', 'before_function_beg'
explictly type as ints instead of defaulting.
(emit_swap_insn): Remove unused variable 'i2'.
(compare_for_stack_reg): Remove unused variable 'src_note'.
* rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
* sched.c (actual_hazard): Bracket declaration of 'this_cost'.
* stmt.c (add_case_node): Add parens for assignment used as truth.
(all_cases_count): Remove unused variable 'count_high'.
(mark_seen_cases): Remove unused variable 'i'.
(check_for_full_enumeration_handling): Remove unused variable 't'.
Bracket declaration of 'all_values', 'l'.
* tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
* varasm.c (assemble_string): Remove unused variable 'i'.
(immed_double_const): Remove unused variable 'in_current_obstack'.
(immed_real_const_1): Likewise.
(output_constant_pool): Remove unreferenced label 'done'.
(output_constant): Remove unused variable 'x'.
* i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
a string.
* i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
as truth.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17901
138bc75d-0d04-0410-961f-
82ee72b054a4
+Wed Feb 11 21:44:40 1998 Robert Lipe <robertl@dgii.com>
+
+ * c-lang.c (finish_file): Bracket declaration of static_ctors,
+ static_dtors.
+
+ * calls.c (expand_call): Bracket declaration of 'rtx_before_call',
+ 'old_stack_arg_under_construction'
+ (emit_library_call): Bracket declaration of 'upper_bound',
+ 'lower_bound', 'i', 'reg_parm_stack_space'
+ (emit_library_call_value): Likewise.
+ (store_one_arg):
+
+ * collect2.c: include <unistd.h> when appropriate.
+ Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
+
+ * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
+
+ * explow.c (plus_constant_for_output_wide): Remove unused variable
+ 'code'.
+ (memory_address): Remove unused variable 'orig_x'.
+
+ * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
+ (write_const_num_delay_slots): Remove unused variable 'i'.
+
+ * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
+ (gen_insn): Remove unused variable 'obstack_ptr'.
+
+ * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
+ 'j', 'tmp', 'i'.
+ (__bb_exit_trace_func): Remove unused variable 'e'.
+
+ * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs',
+ 'funexp'.
+ (expand_unop): Remove unused variable 'funexp'.
+ (expand_complex_abs): Remove unused variable 'funexp'.
+ (init_optabs): Bracket declaration of 'j'.
+ (init_complex_libfuncs): Deleted. Dead static function.
+
+ * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
+
+ * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
+ (reg_to_stack): 'initialized', 'before_function_beg'
+ explictly type as ints instead of defaulting.
+ (emit_swap_insn): Remove unused variable 'i2'.
+ (compare_for_stack_reg): Remove unused variable 'src_note'.
+
+ * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
+
+ * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
+
+ * stmt.c (add_case_node): Add parens for assignment used as truth.
+ (all_cases_count): Remove unused variable 'count_high'.
+ (mark_seen_cases): Remove unused variable 'i'.
+ (check_for_full_enumeration_handling): Remove unused variable 't'.
+ Bracket declaration of 'all_values', 'l'.
+
+ * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
+
+ * varasm.c (assemble_string): Remove unused variable 'i'.
+ (immed_double_const): Remove unused variable 'in_current_obstack'.
+ (immed_real_const_1): Likewise.
+ (output_constant_pool): Remove unreferenced label 'done'.
+ (output_constant): Remove unused variable 'x'.
+
+ * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
+ a string.
+
+ * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
+ as truth.
+
Fri Feb 13 10:21:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
* combine.c (can_combine_p): Handle USEs in PARALLELs.
void
finish_file ()
{
- extern tree static_ctors, static_dtors;
+#ifndef ASM_OUTPUT_CONSTRUCTOR
+ extern tree static_ctors;
+#endif
+#ifndef ASM_OUTPUT_DESTRUCTOR
+ extern tree static_dtors;
+#endif
extern tree build_function_call PROTO((tree, tree));
tree void_list_node = build_tree_list (NULL_TREE, void_type_node);
#ifndef ASM_OUTPUT_CONSTRUCTOR
#ifdef ACCUMULATE_OUTGOING_ARGS
int initial_highest_arg_in_use = highest_outgoing_arg_in_use;
char *initial_stack_usage_map = stack_usage_map;
+ int old_stack_arg_under_construction;
#endif
rtx old_stack_level = 0;
int old_pending_adj = 0;
- int old_stack_arg_under_construction;
int old_inhibit_defer_pop = inhibit_defer_pop;
rtx call_fusage = 0;
register tree p;
if (is_integrable)
{
rtx temp;
+#ifdef ACCUMULATE_OUTGOING_ARGS
rtx before_call = get_last_insn ();
+#endif
temp = expand_inline_function (fndecl, actparms, target,
ignore, TREE_TYPE (exp),
struct arg *argvec;
int old_inhibit_defer_pop = inhibit_defer_pop;
rtx call_fusage = 0;
- /* Size of the stack reserved for parameter registers. */
- int reg_parm_stack_space = 0;
#if defined(ACCUMULATE_OUTGOING_ARGS) && defined(REG_PARM_STACK_SPACE)
/* Define the boundary of the register parm stack space that needs to be
save, if any. */
#endif
#ifdef REG_PARM_STACK_SPACE
+ /* Size of the stack reserved for parameter registers. */
+ int reg_parm_stack_space = 0;
#ifdef MAYBE_REG_PARM_STACK_SPACE
reg_parm_stack_space = MAYBE_REG_PARM_STACK_SPACE;
#else
register rtx val = argvec[argnum].value;
rtx reg = argvec[argnum].reg;
int partial = argvec[argnum].partial;
+#ifdef ACCUMULATE_OUTGOING_ARGS
int lower_bound, upper_bound, i;
+#endif
if (! (reg != 0 && partial == 0))
{
struct arg *argvec;
int old_inhibit_defer_pop = inhibit_defer_pop;
rtx call_fusage = 0;
- /* Size of the stack reserved for parameter registers. */
- int reg_parm_stack_space = 0;
rtx mem_value = 0;
int pcc_struct_value = 0;
int struct_value_size = 0;
int is_const;
+#ifdef ACCUMULATE_OUTGOING_ARGS
int needed;
+#endif
#if defined(ACCUMULATE_OUTGOING_ARGS) && defined(REG_PARM_STACK_SPACE)
/* Define the boundary of the register parm stack space that needs to be
#endif
#ifdef ACCUMULATE_OUTGOING_ARGS
+ /* Size of the stack reserved for parameter registers. */
+ int reg_parm_stack_space = 0;
int initial_highest_arg_in_use = highest_outgoing_arg_in_use;
char *initial_stack_usage_map = stack_usage_map;
#endif
register rtx val = argvec[argnum].value;
rtx reg = argvec[argnum].reg;
int partial = argvec[argnum].partial;
+#ifdef ACCUMULATE_OUTGOING_ARGS
int lower_bound, upper_bound, i;
+#endif
if (! (reg != 0 && partial == 0))
{
rtx reg = 0;
int partial = 0;
int used = 0;
+#ifdef ACCUMULATE_OUTGOING_ARGS
int i, lower_bound, upper_bound;
+#endif
if (TREE_CODE (pval) == ERROR_MARK)
return;
#include <stdlib.h>
#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
#ifdef HAVE_STRING_H
#include <string.h>
#else
char *ld_suffix = "ld";
char *full_ld_suffix = ld_suffix;
char *real_ld_suffix = "real-ld";
+#ifdef CROSS_COMPILE
char *full_real_ld_suffix = real_ld_suffix;
+#endif
char *collect_ld_suffix = "collect-ld";
char *nm_suffix = "nm";
char *full_nm_suffix = nm_suffix;
char *gstrip_suffix = "gstrip";
char *full_gstrip_suffix = gstrip_suffix;
char *arg;
- FILE *outf, *exportf;
+ FILE *outf;
+#ifdef COLLECT_EXPORT_LIST
+ FILE *exportf;
+#endif /* COLLECT_EXPORT_LIST */
char *ld_file_name;
char *collect_name;
char *collect_names;
if (TARGET_DEBUG_ADDR \
&& TREE_CODE_CLASS (TREE_CODE (DECL)) == 'd') \
{ \
- fprintf (stderr, "Encode %s, public = %s\n", \
+ fprintf (stderr, "Encode %s, public = %d\n", \
IDENTIFIER_POINTER (DECL_NAME (DECL)), \
TREE_PUBLIC (DECL)); \
} \
register unsigned char *_limited_str = (unsigned char *) (STR); \
register unsigned ch; \
fprintf ((FILE), "%s\t\"", STRING_ASM_OP); \
- for (; ch = *_limited_str; _limited_str++) \
+ for (; (ch = *_limited_str); _limited_str++) \
{ \
register int escape; \
switch (escape = ESCAPES[ch]) \
rtx insn;
{
rtx note = find_reg_note (insn, REG_CC_SETTER, NULL_RTX);
- rtx link;
if (note)
return XEXP (note, 0);
register rtx x;
register HOST_WIDE_INT c;
{
- register RTX_CODE code = GET_CODE (x);
register enum machine_mode mode = GET_MODE (x);
if (GET_CODE (x) == LO_SUM)
/* Fall through to COND case since this is now a COND. */
case COND:
- cond:
{
int allsame = 1;
rtx defval;
struct attr_desc *attr = find_attr ("*num_delay_slots", 0);
struct attr_value *av;
struct insn_ent *ie;
- int i;
if (attr)
{
int pindex;
int i;
char *np, *pp, *p, *q;
- struct obstack *obstack_ptr;
/* Don't mention instructions whose names are the null string.
They are in the machine description just to be recognized. */
char **argv;
{
rtx desc;
- rtx dummy;
- rtx *insn_ptr;
FILE *infile;
register int c;
if ((da_file = fopen (ptr->filename, "r")) != 0)
{
long n_counts = 0;
- unsigned char tmp;
- int i;
- int ret = 0;
-
if (__read_long (&n_counts, da_file, 8) != 0)
{
for (i = 0; i < n_counts; i++)
{
long v = 0;
- unsigned char tmp;
- int j;
- int ret = 0;
if (__read_long (&v, da_file, 8) != 0)
{
{
FILE *file = fopen ("bb.out", "a");
struct bb_func *f;
- struct bb_edge *e;
struct bb *b;
if (!file)
static void init_libfuncs PROTO((optab, int, int, char *, int));
static void init_integral_libfuncs PROTO((optab, char *, int));
static void init_floating_libfuncs PROTO((optab, char *, int));
-static void init_complex_libfuncs PROTO((optab, char *, int));
\f
/* Add a REG_EQUAL note to the last insn in SEQ. TARGET is being set to
the result of operation CODE applied to OP0 (and OP1 if it is a binary
X/(a+ib) */
rtx divisor;
rtx real_t, imag_t;
- rtx lhs, rhs;
rtx temp1, temp2;
/* Don't fetch these from memory more than once. */
&& (methods == OPTAB_LIB || methods == OPTAB_LIB_WIDEN))
{
rtx insns;
- rtx funexp = binoptab->handlers[(int) mode].libfunc;
rtx op1x = op1;
enum machine_mode op1_mode = mode;
rtx value;
if (unoptab->handlers[(int) mode].libfunc)
{
rtx insns;
- rtx funexp = unoptab->handlers[(int) mode].libfunc;
rtx value;
start_sequence ();
if (abs_optab->handlers[(int) mode].libfunc)
{
rtx insns;
- rtx funexp = abs_optab->handlers[(int) mode].libfunc;
rtx value;
start_sequence ();
init_libfuncs (optable, SFmode, TFmode, opname, suffix);
}
-/* Initialize the libfunc fields of an entire group of entries in some
- optab which correspond to all complex floating modes. The parameters
- have the same meaning as similarly named ones for the `init_libfuncs'
- routine. (See above). */
-
-static void
-init_complex_libfuncs (optable, opname, suffix)
- register optab optable;
- register char *opname;
- register int suffix;
-{
- init_libfuncs (optable, SCmode, TCmode, opname, suffix);
-}
/* Call this once to initialize the contents of the optabs
appropriately for the current target machine. */
void
init_optabs ()
{
- int i, j;
+ int i;
+#ifdef FIXUNS_TRUNC_LIKE_FIX_TRUNC
+ int j;
+#endif
+
enum insn_code *p;
/* Start by initializing all tables to contain CODE_FOR_nothing. */
FILE *dump_file;
{
int i, num_blocks;
- int dest;
- rtx insn;
struct adj_list *arcptr;
int num_arcs, changes, passes;
int total, prob;
int, int));
static void record_reg_life_pat PROTO((rtx, HARD_REG_SET *,
HARD_REG_SET *, int));
-static void get_asm_operand_length PROTO((rtx, int, int *, int *));
+static void get_asm_operand_lengths PROTO((rtx, int, int *, int *));
static void record_reg_life PROTO((rtx, int, stack));
static void find_blocks PROTO((rtx));
static int uses_reg_or_mem PROTO((rtx));
CLEAR_HARD_REG_SET (stackentry);
{
- static initialised;
+ static int initialised;
if (!initialised)
{
#if 0
{
register RTX_CODE prev_code = BARRIER;
register RTX_CODE code;
- register before_function_beg = 1;
+ register int before_function_beg = 1;
max_uid = 0;
blocks = 0;
if (i1set)
{
- rtx i2; /* the stack-reg insn prior to I1 */
rtx i1src = *get_true_reg (&SET_SRC (i1set));
rtx i1dest = *get_true_reg (&SET_DEST (i1set));
&& SET_DEST (PATTERN (cc0_user)) != pc_rtx
&& GET_CODE (SET_SRC (PATTERN (cc0_user))) == IF_THEN_ELSE)
{
- rtx *dest, src_note;
+ rtx *dest;
dest = get_true_reg (&SET_DEST (PATTERN (cc0_user)));
if (GET_CODE (insn) == JUMP_INSN)
{
rtx pat = PATTERN (insn);
- int computed_jump = 0;
if (GET_CODE (pat) == PARALLEL)
{
int instance = unit;
int best_cost = actual_hazard_this_instance (unit, instance, insn,
clock, cost);
+#if MAX_MULTIPLICITY > 1
int this_cost;
-#if MAX_MULTIPLICITY > 1
if (best_cost > cost)
{
for (i = function_units[unit].multiplicity - 1; i > 0; i--)
q = &case_stack->data.case_stmt.case_list;
p = *q;
- while (r = *q)
+ while ((r = *q))
{
p = r;
tree type;
int *spareness;
{
- HOST_WIDE_INT count, count_high = 0;
+ HOST_WIDE_INT count;
*spareness = 0;
switch (TREE_CODE (type))
long count;
int sparseness;
{
- long i;
-
tree next_node_to_try = NULL_TREE;
long next_node_offset = 0;
tree type;
{
register struct case_node *n;
- register struct case_node **l;
register tree chain;
+#if 0 /* variable used by 'if 0'ed code below. */
+ register struct case_node **l;
int all_values = 1;
+#endif
/* True iff the selector type is a numbered set mode. */
int sparseness = 0;
/* The allocated size of cases_seen, in chars. */
long bytes_needed;
- tree t;
if (! warn_switch)
return;
#include "hash.h"
#include "demangle.h"
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#ifdef HAVE_STRING_H
+#include <string.h>
+#else
+#ifdef HAVE_STRINGS_H
+#include <strings.h>
+#endif
+#endif
+
#define MAX_ITERATIONS 17
/* Obstack allocation and deallocation routines. */
enum machine_mode mode;
{
register rtx r;
- int in_current_obstack;
if (GET_MODE_CLASS (mode) == MODE_INT
|| GET_MODE_CLASS (mode) == MODE_PARTIAL_INT)
{
union real_extract u;
register rtx r;
- int in_current_obstack;
/* Get the desired `double' value as a sequence of ints
since that is how they are stored in a CONST_DOUBLE. */
abort ();
}
- done: ;
}
#ifdef ASM_OUTPUT_POOL_EPILOGUE
register int size;
{
register enum tree_code code = TREE_CODE (TREE_TYPE (exp));
- rtx x;
if (size == 0)
return;