aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>1998-02-28 07:06:53 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>1998-02-28 07:06:53 +0000
commit517237119124e0a16546a3bf0584d9422ca5dfb0 (patch)
tree6685fdcda742726b5edb9dbde23a6e7176b93726 /gcc
parentc580105315d6e393e042182ced090b8ec6ce0b51 (diff)
downloadgcc-517237119124e0a16546a3bf0584d9422ca5dfb0.zip
gcc-517237119124e0a16546a3bf0584d9422ca5dfb0.tar.gz
gcc-517237119124e0a16546a3bf0584d9422ca5dfb0.tar.bz2
Fix warious warnings:
* c-aux-info.c: Include string.h/strings.h. * pa.c: Include stdlib.h. (pa_combine_instructions): Prototype the function. (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise. (reloc_needed): Add default case for enumeration switch. (remove_useless_addtr_insns): Remove unused variable `all'. (hppa_expand_prologue): Add explicit braces to avoid ambiguous `else'. (output_function_epilogue): Remove unused variable `i'. (output_millicode_call): Remove unused variable `link'. (shadd_constant_p, forward_branch_p): Make the function static. (following_call): Explicitly declare to return int. (pa_reorg): Declare as void. (pa_combine_instructions): Declare as static void. Add parentheses around && within ||. * pa.h: Add prototypes for pa_reorg, symbolic_operand, following_call, function_label_operand, lhs_lshift_cint_operand and zdepi_cint_p. * pa.md: Add parentheses around && within ||. * cppalloc.c: Include stdlib.h. * cpperror.c (cpp_print_containing_files): Remove unused variable `i'. Fix format specifier in fprintf. * cse.c (cse_around_loop): Add explicit braces to avoid ambiguous `else'. (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0. * expr.c (expand_expr): Add parentheses around && within ||. * final.c (app_enable): Replace fprintf with fputs where there are no format specifiers and no trailing argument after the string. Eg, when printing ASM_APP_ON/ASM_APP_OFF. (app_disable): Likewise. (final_end_function): Likewise. (final_scan_insn): Likewise. Remove unused variable `set'. (profile_function): Wrap empty if-statement body in {} brackets. * function.c: Include stdlib.h. (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD. (reposition_prologue_and_epilogue_notes): Add parentheses around assignment used as truth value. * integrate.c (expand_inline_function): Wrap variable `cc0_insn' in macro HAVE_cc0. * jump.c (jump_optimize): Wrap variable `q' in macro HAVE_cc0. Remove unused variable `prev1'. * libgcc2.c (__bb_exit_trace_func): Add parentheses around && within ||. Fix format specifier in fprintf. (__bb_init_prg): Add parentheses around assignment used as truth value. * local-alloc.c: Include stdlib.h. (requires_inout): Add parentheses around assignment used as truth value. * loop.c (analyze_loop_iterations): Wrap prototype and definition in macro HAVE_decrement_and_branch_on_count. (insert_bct, instrument_loop_bct): Likewise. (move_movables): Add parentheses around assignment used as truth value. (consec_sets_invariant_p): Likewise. (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0. * objc/objc-act.c: Include stdlib.h. (lookup_method_in_protocol_list): Wrap empty else-statement body in braces. (lookup_protocol_in_reflist): Likewise. (objc_add_static_instance): Remove unused variables `decl_expr' and `decl_spec'. (get_objc_string_decl): Remove unused variable `decl'. (generate_static_references): Remove unused variables `idecl' and `instance'. (check_protocols): Wrap empty else-statement body in braces. * protoize.c: Include stdlib.h. (substr): Add parentheses around assignment used as truth value. (abspath): Likewise. (shortpath): Likewise. * regmove.c (fixup_match_1): Add parentheses around assignment used as truth value. * reload.c (push_secondary_reload): Remove unused variable `i'. (find_reloads): Add parentheses around assignment used as truth value. * reload1.c: Include stdlib.h. * rtl.h: Correct typo in prototype of offsettable_memref_p. * stmt.c (add_case_node): Add parentheses around assignment used as truth value. (case_tree2list): Likewise. * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list' in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE. (merge_attributes): Add explicit braces to avoid ambiguous `else'. * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in macro HAVE_cc0. * varasm.c: Include stdlib.h. From-SVN: r18290
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog113
-rw-r--r--gcc/c-aux-info.c27
-rw-r--r--gcc/config/pa/pa.c29
-rw-r--r--gcc/config/pa/pa.h14
-rw-r--r--gcc/config/pa/pa.md6
-rw-r--r--gcc/cppalloc.c5
-rw-r--r--gcc/cpperror.c5
-rw-r--r--gcc/cse.c18
-rw-r--r--gcc/expr.c4
-rw-r--r--gcc/final.c38
-rw-r--r--gcc/function.c11
-rw-r--r--gcc/integrate.c4
-rw-r--r--gcc/jump.c6
-rw-r--r--gcc/libgcc2.c6
-rw-r--r--gcc/local-alloc.c5
-rw-r--r--gcc/loop.c20
-rw-r--r--gcc/objc/objc-act.c23
-rw-r--r--gcc/protoize.c14
-rw-r--r--gcc/regmove.c2
-rw-r--r--gcc/reload.c3
-rw-r--r--gcc/reload1.c3
-rw-r--r--gcc/rtl.h2
-rw-r--r--gcc/stmt.c22
-rw-r--r--gcc/tree.c6
-rw-r--r--gcc/unroll.c2
-rw-r--r--gcc/varasm.c3
26 files changed, 299 insertions, 92 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b8e74575..afd589e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,118 @@
Sat Feb 28 07:54:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+ * c-aux-info.c: Include string.h/strings.h.
+
+ * pa.c: Include stdlib.h.
+ (pa_combine_instructions): Prototype the function.
+ (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
+ (reloc_needed): Add default case for enumeration switch.
+ (remove_useless_addtr_insns): Remove unused variable `all'.
+ (hppa_expand_prologue): Add explicit braces to avoid
+ ambiguous `else'.
+ (output_function_epilogue): Remove unused variable `i'.
+ (output_millicode_call): Remove unused variable `link'.
+ (shadd_constant_p, forward_branch_p): Make the function static.
+ (following_call): Explicitly declare to return int.
+ (pa_reorg): Declare as void.
+ (pa_combine_instructions): Declare as static void. Add
+ parentheses around && within ||.
+
+ * pa.h: Add prototypes for pa_reorg, symbolic_operand,
+ following_call, function_label_operand, lhs_lshift_cint_operand
+ and zdepi_cint_p.
+
+ * pa.md: Add parentheses around && within ||.
+
+ * cppalloc.c: Include stdlib.h.
+
+ * cpperror.c (cpp_print_containing_files): Remove unused variable
+ `i'. Fix format specifier in fprintf.
+
+ * cse.c (cse_around_loop): Add explicit braces to avoid
+ ambiguous `else'.
+ (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
+
+ * expr.c (expand_expr): Add parentheses around && within ||.
+
+ * final.c (app_enable): Replace fprintf with fputs where there are
+ no format specifiers and no trailing argument after the string.
+ Eg, when printing ASM_APP_ON/ASM_APP_OFF.
+ (app_disable): Likewise.
+ (final_end_function): Likewise.
+ (final_scan_insn): Likewise. Remove unused variable `set'.
+ (profile_function): Wrap empty if-statement body in {} brackets.
+
+ * function.c: Include stdlib.h.
+ (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
+ (reposition_prologue_and_epilogue_notes): Add parentheses
+ around assignment used as truth value.
+
+ * integrate.c (expand_inline_function): Wrap variable
+ `cc0_insn' in macro HAVE_cc0.
+
+ * jump.c (jump_optimize): Wrap variable `q' in macro
+ HAVE_cc0. Remove unused variable `prev1'.
+
+ * libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
+ within ||. Fix format specifier in fprintf.
+ (__bb_init_prg): Add parentheses around assignment used as
+ truth value.
+
+ * local-alloc.c: Include stdlib.h.
+ (requires_inout): Add parentheses around assignment used
+ as truth value.
+
+ * loop.c (analyze_loop_iterations): Wrap prototype and definition
+ in macro HAVE_decrement_and_branch_on_count.
+ (insert_bct, instrument_loop_bct): Likewise.
+ (move_movables): Add parentheses around assignment used as
+ truth value.
+ (consec_sets_invariant_p): Likewise.
+ (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
+
+ * objc/objc-act.c: Include stdlib.h.
+ (lookup_method_in_protocol_list): Wrap empty else-statement body
+ in braces.
+ (lookup_protocol_in_reflist): Likewise.
+ (objc_add_static_instance): Remove unused variables `decl_expr'
+ and `decl_spec'.
+ (get_objc_string_decl): Remove unused variable `decl'.
+ (generate_static_references): Remove unused variables `idecl' and
+ `instance'.
+ (check_protocols): Wrap empty else-statement body in braces.
+
+ * protoize.c: Include stdlib.h.
+ (substr): Add parentheses around assignment used as truth value.
+ (abspath): Likewise.
+ (shortpath): Likewise.
+
+ * regmove.c (fixup_match_1): Add parentheses around assignment
+ used as truth value.
+
+ * reload.c (push_secondary_reload): Remove unused variable `i'.
+ (find_reloads): Add parentheses around assignment used as truth
+ value.
+
+ * reload1.c: Include stdlib.h.
+
+ * rtl.h: Correct typo in prototype of offsettable_memref_p.
+
+ * stmt.c (add_case_node): Add parentheses around assignment used
+ as truth value.
+ (case_tree2list): Likewise.
+
+ * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
+ in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable
+ `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
+ (merge_attributes): Add explicit braces to avoid ambiguous
+ `else'.
+
+ * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
+ macro HAVE_cc0.
+
+ * varasm.c: Include stdlib.h.
+
+
* system.h: Remove sys/stat.h.
* gcc.c: Add sys/stat.h.
diff --git a/gcc/c-aux-info.c b/gcc/c-aux-info.c
index 2114a86..a252153 100644
--- a/gcc/c-aux-info.c
+++ b/gcc/c-aux-info.c
@@ -1,7 +1,7 @@
/* Generate information regarding function declarations and definitions based
on information stored in GCC's tree structure. This code implements the
-aux-info option.
- Copyright (C) 1989, 1991, 1994, 1995 Free Software Foundation, Inc.
+ Copyright (C) 1989, 91, 94, 95, 97, 1998 Free Software Foundation, Inc.
Contributed by Ron Guilmette (rfg@segfault.us.com).
This file is part of GNU CC.
@@ -21,8 +21,15 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#include <stdio.h>
#include "config.h"
+#include <stdio.h>
+#ifdef HAVE_STRING_H
+# include <string.h>
+#else
+# ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#endif
#include "flags.h"
#include "tree.h"
#include "c-tree.h"
@@ -39,14 +46,14 @@ typedef enum formals_style_enum formals_style;
static char *data_type;
-static char *concat ();
-static char *concat3 ();
-static char *gen_formal_list_for_type ();
-static int deserves_ellipsis ();
-static char *gen_formal_list_for_func_def ();
-static char *gen_type ();
-static char *gen_decl ();
-void gen_aux_info_record ();
+static char *concat PROTO((char *, char *));
+static char *concat3 PROTO((char *, char *, char *));
+static char *affix_data_type PROTO((char *));
+static char *gen_formal_list_for_type PROTO((tree, formals_style));
+static int deserves_ellipsis PROTO((tree));
+static char *gen_formal_list_for_func_def PROTO((tree, formals_style));
+static char *gen_type PROTO((char *, tree, formals_style));
+static char *gen_decl PROTO((tree, int, formals_style));
/* Take two strings and mash them together into a newly allocated area. */
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index cfe748e..7174d8a 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for HPPA.
- Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
Contributed by Tim Moore (moore@cs.utah.edu), based on sparc.c
This file is part of GNU CC.
@@ -21,6 +21,9 @@ Boston, MA 02111-1307, USA. */
#include "config.h"
#include <stdio.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
#include "rtl.h"
#include "regs.h"
#include "hard-reg-set.h"
@@ -39,6 +42,10 @@ Boston, MA 02111-1307, USA. */
static void restore_unscaled_index_insn_codes PROTO((rtx));
static void record_unscaled_index_insn_codes PROTO((rtx));
+static void pa_combine_instructions PROTO((rtx));
+static int pa_can_combine_p PROTO((rtx, rtx, rtx, int, rtx, rtx, rtx));
+static int forward_branch_p PROTO((rtx));
+static int shadd_constant_p PROTO((int));
/* Save the operands last given to a compare for use when we
generate a scc or bcc insn. */
@@ -1445,6 +1452,9 @@ reloc_needed (exp)
case ERROR_MARK:
break;
+
+ default:
+ break;
}
return reloc;
}
@@ -2195,7 +2205,6 @@ remove_useless_addtr_insns (insns, check_notes)
int check_notes;
{
rtx insn;
- int all;
static int pass = 0;
/* This is fairly cheap, so always run it when optimizing. */
@@ -2712,6 +2721,7 @@ hppa_expand_prologue()
/* Allocate the local frame and set up the frame pointer if needed. */
if (actual_fsize)
+ {
if (frame_pointer_needed)
{
/* Copy the old frame pointer temporarily into %r1. Set up the
@@ -2756,6 +2766,8 @@ hppa_expand_prologue()
STACK_POINTER_REGNUM,
actual_fsize);
}
+ }
+
/* The hppa calling conventions say that that %r19, the pic offset
register, is saved at sp - 32 (in this function's frame) when
generating PIC code. FIXME: What is the correct thing to do
@@ -2923,7 +2935,6 @@ output_function_epilogue (file, size)
int size;
{
rtx insn = get_last_insn ();
- int i;
/* hppa_expand_epilogue does the dirty work now. We just need
to output the assembler directives which denote the end
@@ -5067,7 +5078,6 @@ output_millicode_call (insn, call_dest)
{
int delay_insn_deleted = 0;
rtx xoperands[2];
- rtx link;
/* We need to emit an inline long-call branch. */
if (dbr_sequence_length () != 0
@@ -5618,7 +5628,7 @@ plus_xor_ior_operator (op, mode)
/* Return 1 if the given constant is 2, 4, or 8. These are the valid
constants for shadd instructions. */
-int
+static int
shadd_constant_p (val)
int val;
{
@@ -5694,7 +5704,7 @@ non_hard_reg_operand (op, mode)
/* Return 1 if INSN branches forward. Should be using insn_addresses
to avoid walking through all the insns... */
-int
+static int
forward_branch_p (insn)
rtx insn;
{
@@ -5823,6 +5833,7 @@ output_parallel_addb (operands, length)
immediately follows a call since the jump can usually be eliminated
completely by modifying RP in the delay slot of the call. */
+int
following_call (insn)
rtx insn;
{
@@ -5969,6 +5980,7 @@ record_unscaled_index_insn_codes (insns)
insns mark where we should emit .begin_brtab and .end_brtab directives
when using GAS (allows for better link time optimizations). */
+void
pa_reorg (insns)
rtx insns;
{
@@ -6110,6 +6122,7 @@ pa_reorg (insns)
is an insns away). These are difficult to use due to the
branch length restrictions. */
+static void
pa_combine_instructions (insns)
rtx insns;
{
@@ -6135,9 +6148,9 @@ pa_combine_instructions (insns)
/* We only care about INSNs, JUMP_INSNs, and CALL_INSNs.
Also ignore any special USE insns. */
- if (GET_CODE (anchor) != INSN
+ if ((GET_CODE (anchor) != INSN
&& GET_CODE (anchor) != JUMP_INSN
- && GET_CODE (anchor) != CALL_INSN
+ && GET_CODE (anchor) != CALL_INSN)
|| GET_CODE (PATTERN (anchor)) == USE
|| GET_CODE (PATTERN (anchor)) == CLOBBER
|| GET_CODE (PATTERN (anchor)) == ADDR_VEC
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index bfa815c..cfbbb46 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -273,6 +273,17 @@ extern int target_flags;
/* Machine dependent reorg pass. */
#define MACHINE_DEPENDENT_REORG(X) pa_reorg(X)
+/* Prototype function used in MACHINE_DEPENDENT_REORG macro. */
+void pa_reorg ();
+
+/* Prototype function used in various macros. */
+int symbolic_operand ();
+
+/* Used in insn-*.c. */
+int following_call ();
+int function_label_operand ();
+int lhs_lshift_cint_operand ();
+
/* Names to predefine in the preprocessor for this target machine. */
#define CPP_PREDEFINES "-Dhppa -Dhp9000s800 -D__hp9000s800 -Dhp9k8 -Dunix -Dhp9000 -Dhp800 -Dspectrum -DREVARGV -Asystem(unix) -Asystem(bsd) -Acpu(hppa) -Amachine(hppa)"
@@ -755,6 +766,9 @@ enum reg_class { NO_REGS, R1_REGS, GENERAL_REGS, FP_REGS, GENERAL_OR_FP_REGS,
: (C) == 'P' ? and_mask_p (VALUE) \
: 0)
+/* Prototype function used in macro CONST_OK_FOR_LETTER_P. */
+int zdepi_cint_p ();
+
/* Similar, but for floating or large integer constants, and defining letters
G and H. Here VALUE is the CONST_DOUBLE rtx itself.
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md
index 704cd7a..053d008 100644
--- a/gcc/config/pa/pa.md
+++ b/gcc/config/pa/pa.md
@@ -1,5 +1,5 @@
;;- Machine description for HP PA-RISC architecture for GNU C compiler
-;; Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 93 - 97, 1998 Free Software Foundation, Inc.
;; Contributed by the Center for Software Science at the University
;; of Utah.
@@ -4495,7 +4495,7 @@
(match_operand:SI 2 "uint5_operand" ""))
(match_operand:SI 3 "const_int_operand" ""))]
"(INTVAL (operands[3]) & 0x10) != 0 &&
- (~INTVAL (operands[3]) & (1L << INTVAL (operands[1])) - 1 & ~0xf) == 0"
+ (~INTVAL (operands[3]) & ((1L << INTVAL (operands[1])) - 1) & ~0xf) == 0"
"*
{
operands[3] = GEN_INT ((INTVAL (operands[3]) & 0xf) - 0x10);
@@ -4665,7 +4665,7 @@
(set (match_operand:SI 0 "register_operand" "=r")
(plus:SI (match_operand:SI 1 "register_operand" "r")
(match_operand:SI 2 "ireg_or_int5_operand" "rL")))]
- "reload_completed && operands[0] == operands[1] || operands[0] == operands[2]"
+ "(reload_completed && operands[0] == operands[1]) || operands[0] == operands[2]"
"*
{
return output_parallel_addb (operands, get_attr_length (insn));
diff --git a/gcc/cppalloc.c b/gcc/cppalloc.c
index 79d4c9b..4568c45 100644
--- a/gcc/cppalloc.c
+++ b/gcc/cppalloc.c
@@ -1,5 +1,5 @@
/* Part of CPP library. (memory allocation - xmalloc etc)
- Copyright (C) 1986, 87, 89, 92, 93, 94, 1995 Free Software Foundation, Inc.
+ Copyright (C) 1986, 87, 89, 92 - 95, 1998 Free Software Foundation, Inc.
Written by Per Bothner, 1994.
Based on CCCP program by by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -24,6 +24,9 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "config.h"
#include <stdio.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
#include "cpplib.h"
static void
diff --git a/gcc/cpperror.c b/gcc/cpperror.c
index 0cf24b9..e03deb4 100644
--- a/gcc/cpperror.c
+++ b/gcc/cpperror.c
@@ -1,5 +1,5 @@
/* Default error handlers for CPP Library.
- Copyright (C) 1986, 87, 89, 92, 93, 94, 1995 Free Software Foundation, Inc.
+ Copyright (C) 1986, 87, 89, 92 - 95, 1998 Free Software Foundation, Inc.
Written by Per Bothner, 1994.
Based on CCCP program by by Paul Rubin, June 1986
Adapted to ANSI C, Richard Stallman, Jan 1987
@@ -37,7 +37,6 @@ cpp_print_containing_files (pfile)
cpp_reader *pfile;
{
cpp_buffer *ip;
- int i;
int first = 1;
/* If stack of files hasn't changed since we last printed
@@ -67,7 +66,7 @@ cpp_print_containing_files (pfile)
fprintf (stderr, ",\n ");
}
- fprintf (stderr, " from %s:%d", ip->nominal_fname, line);
+ fprintf (stderr, " from %s:%ld", ip->nominal_fname, line);
}
if (! first)
fprintf (stderr, ":\n");
diff --git a/gcc/cse.c b/gcc/cse.c
index 865451a..cf53240 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -7803,13 +7803,15 @@ cse_around_loop (loop_start)
if (last_jump_equiv_class)
for (p = last_jump_equiv_class->first_same_value; p;
p = p->next_same_value)
- if (GET_CODE (p->exp) == MEM || GET_CODE (p->exp) == REG
- || (GET_CODE (p->exp) == SUBREG
- && GET_CODE (SUBREG_REG (p->exp)) == REG))
- invalidate (p->exp, VOIDmode);
- else if (GET_CODE (p->exp) == STRICT_LOW_PART
- || GET_CODE (p->exp) == ZERO_EXTRACT)
- invalidate (XEXP (p->exp, 0), GET_MODE (p->exp));
+ {
+ if (GET_CODE (p->exp) == MEM || GET_CODE (p->exp) == REG
+ || (GET_CODE (p->exp) == SUBREG
+ && GET_CODE (SUBREG_REG (p->exp)) == REG))
+ invalidate (p->exp, VOIDmode);
+ else if (GET_CODE (p->exp) == STRICT_LOW_PART
+ || GET_CODE (p->exp) == ZERO_EXTRACT)
+ invalidate (XEXP (p->exp, 0), GET_MODE (p->exp));
+ }
/* Process insns starting after LOOP_START until we hit a CALL_INSN or
a CODE_LABEL (we could handle a CALL_INSN, but it isn't worth it).
@@ -8752,7 +8754,9 @@ delete_dead_from_cse (insns, nreg)
{
int *counts = (int *) alloca (nreg * sizeof (int));
rtx insn, prev;
+#ifdef HAVE_cc0
rtx tem;
+#endif
int i;
int in_libcall = 0, dead_libcall = 0;
diff --git a/gcc/expr.c b/gcc/expr.c
index 6d3165d..8ae4834 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -5887,9 +5887,9 @@ expand_expr (exp, target, tmode, modifier)
/* If domain is empty, answer is no. Likewise if index is constant
and out of bounds. */
- if ((TREE_CODE (set_high_bound) == INTEGER_CST
+ if (((TREE_CODE (set_high_bound) == INTEGER_CST
&& TREE_CODE (set_low_bound) == INTEGER_CST
- && tree_int_cst_lt (set_high_bound, set_low_bound)
+ && tree_int_cst_lt (set_high_bound, set_low_bound))
|| (TREE_CODE (index) == INTEGER_CST
&& TREE_CODE (set_low_bound) == INTEGER_CST
&& tree_int_cst_lt (index, set_low_bound))
diff --git a/gcc/final.c b/gcc/final.c
index cf131c5..f6bd7b2 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -1,5 +1,5 @@
/* Convert RTL to assembler code and output it, for GNU compiler.
- Copyright (C) 1987, 88, 89, 92-6, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1987, 88, 89, 92-7, 1998 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -583,7 +583,7 @@ app_enable ()
{
if (! app_on)
{
- fprintf (asm_out_file, ASM_APP_ON);
+ fputs (ASM_APP_ON, asm_out_file);
app_on = 1;
}
}
@@ -596,7 +596,7 @@ app_disable ()
{
if (app_on)
{
- fprintf (asm_out_file, ASM_APP_OFF);
+ fputs (ASM_APP_OFF, asm_out_file);
app_on = 0;
}
}
@@ -1099,7 +1099,9 @@ profile_function (file)
#else
#if defined(STRUCT_VALUE_REGNUM) && defined(ASM_OUTPUT_REG_PUSH)
if (sval)
- ASM_OUTPUT_REG_PUSH (file, STRUCT_VALUE_REGNUM);
+ {
+ ASM_OUTPUT_REG_PUSH (file, STRUCT_VALUE_REGNUM);
+ }
#endif
#endif
@@ -1109,7 +1111,9 @@ profile_function (file)
#else
#if defined(STATIC_CHAIN_REGNUM) && defined(ASM_OUTPUT_REG_PUSH)
if (cxt)
- ASM_OUTPUT_REG_PUSH (file, STATIC_CHAIN_REGNUM);
+ {
+ ASM_OUTPUT_REG_PUSH (file, STATIC_CHAIN_REGNUM);
+ }
#endif
#endif
@@ -1121,7 +1125,9 @@ profile_function (file)
#else
#if defined(STATIC_CHAIN_REGNUM) && defined(ASM_OUTPUT_REG_PUSH)
if (cxt)
- ASM_OUTPUT_REG_POP (file, STATIC_CHAIN_REGNUM);
+ {
+ ASM_OUTPUT_REG_POP (file, STATIC_CHAIN_REGNUM);
+ }
#endif
#endif
@@ -1131,7 +1137,9 @@ profile_function (file)
#else
#if defined(STRUCT_VALUE_REGNUM) && defined(ASM_OUTPUT_REG_PUSH)
if (sval)
- ASM_OUTPUT_REG_POP (file, STRUCT_VALUE_REGNUM);
+ {
+ ASM_OUTPUT_REG_POP (file, STRUCT_VALUE_REGNUM);
+ }
#endif
#endif
}
@@ -1148,7 +1156,7 @@ final_end_function (first, file, optimize)
{
if (app_on)
{
- fprintf (file, ASM_APP_OFF);
+ fputs (ASM_APP_OFF, file);
app_on = 0;
}
@@ -1476,7 +1484,7 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
break; /* An insn that was "deleted" */
if (app_on)
{
- fprintf (file, ASM_APP_OFF);
+ fputs (ASM_APP_OFF, file);
app_on = 0;
}
if (NOTE_LINE_NUMBER (insn) == NOTE_INSN_BLOCK_BEG
@@ -1660,7 +1668,7 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
#endif
if (app_on)
{
- fprintf (file, ASM_APP_OFF);
+ fputs (ASM_APP_OFF, file);
app_on = 0;
}
if (NEXT_INSN (insn) != 0
@@ -1700,7 +1708,7 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
default:
{
- register rtx body = PATTERN (insn), set;
+ register rtx body = PATTERN (insn);
int insn_code_number;
char *template;
#ifdef HAVE_cc0
@@ -1740,7 +1748,7 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
if (app_on)
{
- fprintf (file, ASM_APP_OFF);
+ fputs (ASM_APP_OFF, file);
app_on = 0;
}
@@ -1792,7 +1800,7 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
break;
if (! app_on)
{
- fprintf (file, ASM_APP_ON);
+ fputs (ASM_APP_ON, file);
app_on = 1;
}
fprintf (asm_out_file, "\t%s\n", XSTR (body, 0));
@@ -1813,7 +1821,7 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
if (! app_on)
{
- fprintf (file, ASM_APP_ON);
+ fputs (ASM_APP_ON, file);
app_on = 1;
}
@@ -1832,7 +1840,7 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
if (prescan <= 0 && app_on)
{
- fprintf (file, ASM_APP_OFF);
+ fputs (ASM_APP_OFF, file);
app_on = 0;
}
diff --git a/gcc/function.c b/gcc/function.c
index 6c274ed..5c3198f 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -40,6 +40,9 @@ Boston, MA 02111-1307, USA. */
#include "config.h"
#include <stdio.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
#include "rtl.h"
#include "tree.h"
#include "flags.h"
@@ -415,8 +418,10 @@ static void instantiate_decl PROTO((rtx, int, int));
static int instantiate_virtual_regs_1 PROTO((rtx *, rtx, int));
static void delete_handlers PROTO((void));
static void pad_to_arg_alignment PROTO((struct args_size *, int));
+#ifndef ARGS_GROW_DOWNWARD
static void pad_below PROTO((struct args_size *, enum machine_mode,
tree));
+#endif
static tree round_down PROTO((tree, int));
static rtx round_trampoline_addr PROTO((rtx));
static tree blocks_nreverse PROTO((tree));
@@ -4607,6 +4612,7 @@ pad_to_arg_alignment (offset_ptr, boundary)
}
}
+#ifndef ARGS_GROW_DOWNWARD
static void
pad_below (offset_ptr, passed_mode, sizetree)
struct args_size *offset_ptr;
@@ -4634,6 +4640,7 @@ pad_below (offset_ptr, passed_mode, sizetree)
}
}
}
+#endif
static tree
round_down (value, divisor)
@@ -6021,7 +6028,7 @@ reposition_prologue_and_epilogue_notes (f)
move it to just after the last prologue insn. */
if (note == 0)
{
- for (note = insn; note = NEXT_INSN (note);)
+ for (note = insn; (note = NEXT_INSN (note));)
if (GET_CODE (note) == NOTE
&& NOTE_LINE_NUMBER (note) == NOTE_INSN_PROLOGUE_END)
break;
@@ -6059,7 +6066,7 @@ reposition_prologue_and_epilogue_notes (f)
move it to just before the first epilogue insn. */
if (note == 0)
{
- for (note = insn; note = PREV_INSN (note);)
+ for (note = insn; (note = PREV_INSN (note));)
if (GET_CODE (note) == NOTE
&& NOTE_LINE_NUMBER (note) == NOTE_INSN_EPILOGUE_BEG)
break;
diff --git a/gcc/integrate.c b/gcc/integrate.c
index 1dd29bd..d31b3b3 100644
--- a/gcc/integrate.c
+++ b/gcc/integrate.c
@@ -1,5 +1,5 @@
/* Procedure integration for GNU CC.
- Copyright (C) 1988, 91, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1988, 91, 93-97, 1998 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@cygnus.com)
This file is part of GNU CC.
@@ -1295,7 +1295,9 @@ expand_inline_function (fndecl, parms, target, ignore, type,
rtx stack_save = 0;
rtx temp;
struct inline_remap *map;
+#ifdef HAVE_cc0
rtx cc0_insn = 0;
+#endif
rtvec arg_vector = ORIGINAL_ARG_VECTOR (header);
rtx static_chain_value = 0;
diff --git a/gcc/jump.c b/gcc/jump.c
index ff88203..c5710f2 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -800,7 +800,10 @@ jump_optimize (f, cross_jump, noop_moves, after_regscan)
or a jump to somewhere else. */
rtx target = JUMP_LABEL (temp);
int nuses = LABEL_NUSES (target);
- rtx p, q;
+ rtx p;
+#ifdef HAVE_cc0
+ rtx q;
+#endif
/* Set P to the first jump insn that goes around "x = a;". */
for (p = temp; nuses && p; p = prev_nonnote_insn (p))
@@ -2542,7 +2545,6 @@ find_cross_jump (e1, e2, minimum, f1, f2)
rtx last1 = 0, last2 = 0;
rtx afterlast1 = 0, afterlast2 = 0;
- rtx prev1;
*f1 = 0;
*f2 = 0;
diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c
index e2e4c19..e5ad420 100644
--- a/gcc/libgcc2.c
+++ b/gcc/libgcc2.c
@@ -1910,7 +1910,7 @@ __bb_exit_trace_func ()
{
for (ptr = bb_head; ptr != (struct bb *) 0; ptr = ptr->next)
{
- if (!ptr->filename || p->filename != (char *) 0 && strcmp (p->filename, ptr->filename))
+ if (!ptr->filename || (p->filename != (char *) 0 && strcmp (p->filename, ptr->filename)))
continue;
for (blk = 0; blk < ptr->ncounts; blk++)
{
@@ -2011,7 +2011,7 @@ found: ;
for ( ; bucket; bucket = bucket->next )
{
fprintf (file, "Jump from block 0x%.*lx to "
- "block 0x%.*lx executed %*d time(s)\n",
+ "block 0x%.*lx executed %*lu time(s)\n",
addr_len, bucket->src_addr,
addr_len, bucket->dst_addr,
cnt_len, bucket->count);
@@ -2111,7 +2111,7 @@ __bb_init_prg ()
{
unsigned long l;
f->next = bb_func_head;
- if (pos = strchr (p, ':'))
+ if ((pos = strchr (p, ':')))
{
if (!(f->funcname = (char *) malloc (strlen (pos+1)+1)))
continue;
diff --git a/gcc/local-alloc.c b/gcc/local-alloc.c
index dc8357c..cb126a4 100644
--- a/gcc/local-alloc.c
+++ b/gcc/local-alloc.c
@@ -61,6 +61,9 @@ Boston, MA 02111-1307, USA. */
#include "config.h"
#include <stdio.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
#include "rtl.h"
#include "flags.h"
#include "basic-block.h"
@@ -2181,7 +2184,7 @@ requires_inout (p)
int reg_allowed = 0;
int num_matching_alts = 0;
- while (c = *p++)
+ while ((c = *p++))
switch (c)
{
case '=': case '+': case '?':
diff --git a/gcc/loop.c b/gcc/loop.c
index ddce9e8..89402a5 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -324,11 +324,13 @@ void iteration_info ();
/* Two main functions for implementing bct:
first - to be called before loop unrolling, and the second - after */
+#ifdef HAVE_decrement_and_branch_on_count
static void analyze_loop_iterations ();
static void insert_bct ();
/* Auxiliary function that inserts the bct pattern into the loop */
static void instrument_loop_bct ();
+#endif /* HAVE_decrement_and_branch_on_count */
#endif /* HAIFA */
/* Indirect_jump_in_function is computed once per function. */
@@ -1980,7 +1982,7 @@ move_movables (movables, threshold, insn_count, loop_start, end, nregs)
/* If library call, now fix the REG_NOTES that contain
insn pointers, namely REG_LIBCALL on FIRST
and REG_RETVAL on I1. */
- if (temp = find_reg_note (i1, REG_RETVAL, NULL_RTX))
+ if ((temp = find_reg_note (i1, REG_RETVAL, NULL_RTX)))
{
XEXP (temp, 0) = first;
temp = find_reg_note (first, REG_LIBCALL, NULL_RTX);
@@ -2046,8 +2048,8 @@ move_movables (movables, threshold, insn_count, loop_start, end, nregs)
/* if library call, delete all insn except last, which
is deleted below */
- if (temp = find_reg_note (m1->insn, REG_RETVAL,
- NULL_RTX))
+ if ((temp = find_reg_note (m1->insn, REG_RETVAL,
+ NULL_RTX)))
{
for (temp = XEXP (temp, 0); temp != m1->insn;
temp = NEXT_INSN (temp))
@@ -3018,7 +3020,7 @@ consec_sets_invariant_p (reg, n_sets, insn)
this = invariant_p (SET_SRC (set));
if (this != 0)
value |= this;
- else if (temp = find_reg_note (p, REG_EQUAL, NULL_RTX))
+ else if ((temp = find_reg_note (p, REG_EQUAL, NULL_RTX)))
{
/* If this is a libcall, then any invariant REG_EQUAL note is OK.
If this is an ordinary insn, then only CONSTANT_P REG_EQUAL
@@ -6440,7 +6442,10 @@ maybe_eliminate_biv_1 (x, insn, bl, eliminate_p, where)
rtx reg = bl->biv->dest_reg;
enum machine_mode mode = GET_MODE (reg);
struct induction *v;
- rtx arg, new, tem;
+ rtx arg, tem;
+#ifdef HAVE_cc0
+ rtx new;
+#endif
int arg_operand;
char *fmt;
int i, j;
@@ -7164,6 +7169,7 @@ get_condition_for_loop (x)
loop_increment[loop_num]
loop_comparison_code[loop_num] */
+#ifdef HAVE_decrement_and_branch_on_count
static
void analyze_loop_iterations (loop_start, loop_end)
rtx loop_start, loop_end;
@@ -7641,7 +7647,6 @@ instrument_loop_bct (loop_start, loop_end, loop_num_iterations)
rtx sequence;
enum machine_mode loop_var_mode = SImode;
-#ifdef HAVE_decrement_and_branch_on_count
if (HAVE_decrement_and_branch_on_count)
{
if (loop_dump_stream)
@@ -7679,8 +7684,9 @@ instrument_loop_bct (loop_start, loop_end, loop_num_iterations)
LABEL_NUSES (start_label)++;
}
-#endif /* HAVE_decrement_and_branch_on_count */
}
+#endif /* HAVE_decrement_and_branch_on_count */
+
#endif /* HAIFA */
/* Scan the function and determine whether it has indirect (computed) jumps.
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c
index 7ebc073..f997ecb 100644
--- a/gcc/objc/objc-act.c
+++ b/gcc/objc/objc-act.c
@@ -1,5 +1,5 @@
/* Implement classes and message passing for Objective C.
- Copyright (C) 1992, 1993, 1994, 1995, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1992, 93-95, 97, 1998 Free Software Foundation, Inc.
Contributed by Steve Naroff.
This file is part of GNU CC.
@@ -40,6 +40,9 @@ Boston, MA 02111-1307, USA. */
#include "config.h"
#include <stdio.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
#include "tree.h"
#include "c-tree.h"
#include "c-lex.h"
@@ -748,7 +751,9 @@ lookup_method_in_protocol_list (rproto_list, sel_name, class_meth)
sel_name, class_meth);
}
else
- ; /* An identifier...if we could not find a protocol. */
+ {
+ ; /* An identifier...if we could not find a protocol. */
+ }
if (fnd)
return fnd;
@@ -786,7 +791,9 @@ lookup_protocol_in_reflist (rproto_list, lproto)
}
}
else
- ; /* An identifier...if we could not find a protocol. */
+ {
+ ; /* An identifier...if we could not find a protocol. */
+ }
return 0;
}
@@ -1349,7 +1356,7 @@ objc_add_static_instance (constructor, class_decl)
tree constructor, class_decl;
{
static int num_static_inst;
- tree *chain, decl, decl_spec, decl_expr;
+ tree *chain, decl;
char buf[256];
push_obstacks_nochange ();
@@ -1805,7 +1812,7 @@ get_objc_string_decl (ident, section)
tree ident;
enum string_section section;
{
- tree chain, decl;
+ tree chain;
if (section == class_names)
chain = class_names_chain;
@@ -1829,7 +1836,7 @@ static void
generate_static_references ()
{
tree decls = NULL_TREE, ident, decl_spec, expr_decl, expr = NULL_TREE;
- tree class_name, class, decl, instance, idecl, initlist;
+ tree class_name, class, decl, initlist;
tree cl_chain, in_chain, type;
int num_inst, num_class;
char buf[256];
@@ -6028,7 +6035,9 @@ check_protocols (proto_list, type, name)
}
else
- ; /* An identifier if we could not find a protocol. */
+ {
+ ; /* An identifier if we could not find a protocol. */
+ }
/* Check protocols recursively. */
if (PROTOCOL_LIST (p))
diff --git a/gcc/protoize.c b/gcc/protoize.c
index 3a8177f..4324ae5 100644
--- a/gcc/protoize.c
+++ b/gcc/protoize.c
@@ -1,5 +1,5 @@
/* Protoize program - Original version by Ron Guilmette (rfg@segfault.us.com).
- Copyright (C) 1989, 92-96, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1989, 92-97, 1998 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -85,6 +85,10 @@ Boston, MA 02111-1307, USA. */
#include <stdlib.h>
#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
#ifdef HAVE_STRING_H
#include <string.h>
#else
@@ -786,7 +790,7 @@ substr (s1, s2)
const char *p2;
int c;
- for (p1 = s1, p2 = s2; c = *p2; p1++, p2++)
+ for (p1 = s1, p2 = s2; (c = *p2); p1++, p2++)
if (*p1 != c)
goto outer;
return s1;
@@ -1336,12 +1340,12 @@ abspath (cwd, rel_filename)
if (rel_filename[0] != '/')
{
src_p = cwd2;
- while (*endp++ = *src_p++)
+ while ((*endp++ = *src_p++))
continue;
*(endp-1) = '/'; /* overwrite null */
}
src_p = rel_filename;
- while (*endp++ = *src_p++)
+ while ((*endp++ = *src_p++))
continue;
}
@@ -1493,7 +1497,7 @@ shortpath (cwd, filename)
if (rel_buffer + filename_len <= rel_buf_p)
return filename;
}
- while (*rel_buf_p++ = *path_p++);
+ while ((*rel_buf_p++ = *path_p++));
--rel_buf_p;
if (*(rel_buf_p-1) == '/')
diff --git a/gcc/regmove.c b/gcc/regmove.c
index 4d1062d..b3029e0 100644
--- a/gcc/regmove.c
+++ b/gcc/regmove.c
@@ -1589,7 +1589,7 @@ fixup_match_1 (insn, set, src, src_subreg, dst, backward, operand_number,
rtx q, inc_dest;
inc_dest = post_inc_set ? SET_DEST (post_inc_set) : src;
- for (q = post_inc; q = NEXT_INSN (q); )
+ for (q = post_inc; (q = NEXT_INSN (q)); )
{
if (GET_CODE (q) == CODE_LABEL || GET_CODE (q) == JUMP_INSN
|| (GET_CODE (q) == NOTE
diff --git a/gcc/reload.c b/gcc/reload.c
index bf79834..bd22bbe 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -366,7 +366,6 @@ push_secondary_reload (in_p, x, opnum, optional, reload_class, reload_mode,
enum machine_mode t_mode = VOIDmode;
enum insn_code t_icode = CODE_FOR_nothing;
enum reload_type secondary_type;
- int i;
int s_reload, t_reload = -1;
if (type == RELOAD_FOR_INPUT_ADDRESS
@@ -2460,7 +2459,7 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
/* Scan this operand's constraint to see if it is an output operand,
an in-out operand, is commutative, or should match another. */
- while (c = *p++)
+ while ((c = *p++))
{
if (c == '=')
modified[i] = RELOAD_WRITE;
diff --git a/gcc/reload1.c b/gcc/reload1.c
index ed29d25..f416a87 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -21,6 +21,9 @@ Boston, MA 02111-1307, USA. */
#include "config.h"
#include <stdio.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
#include "rtl.h"
#include "obstack.h"
#include "insn-config.h"
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 8109475..7f7b40f 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1206,7 +1206,7 @@ extern int memory_address_p PROTO ((enum machine_mode, rtx));
extern int constrain_operands PROTO ((int, int));
extern int mode_dependent_address_p PROTO ((rtx));
extern void init_recog_no_volatile PROTO ((void));
-extern int offsettable_memref_pq PROTO ((rtx));
+extern int offsettable_memref_p PROTO ((rtx));
extern int offsettable_nonstrict_memref_p PROTO ((rtx));
extern int reg_fits_class_p PROTO ((rtx, register enum reg_class,
int, enum machine_mode));
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 012ca2b..20140b3 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -4073,7 +4073,7 @@ add_case_node (low, high, label, duplicate)
if (r->balance < 0)
{
/* R-Rotation */
- if (p->left = s = r->right)
+ if ((p->left = s = r->right))
s->parent = p;
r->right = p;
@@ -4082,7 +4082,7 @@ add_case_node (low, high, label, duplicate)
s = p->parent;
p->parent = r;
- if (r->parent = s)
+ if ((r->parent = s))
{
if (s->left == p)
s->left = r;
@@ -4100,11 +4100,11 @@ add_case_node (low, high, label, duplicate)
int b2;
struct case_node *t = r->right;
- if (p->left = s = t->right)
+ if ((p->left = s = t->right))
s->parent = p;
t->right = p;
- if (r->right = s = t->left)
+ if ((r->right = s = t->left))
s->parent = r;
t->left = r;
@@ -4118,7 +4118,7 @@ add_case_node (low, high, label, duplicate)
p->parent = t;
r->parent = t;
- if (t->parent = s)
+ if ((t->parent = s))
{
if (s->left == p)
s->left = t;
@@ -4152,7 +4152,7 @@ add_case_node (low, high, label, duplicate)
{
/* L-Rotation */
- if (p->right = s = r->left)
+ if ((p->right = s = r->left))
s->parent = p;
r->left = p;
@@ -4160,7 +4160,7 @@ add_case_node (low, high, label, duplicate)
r->balance = 0;
s = p->parent;
p->parent = r;
- if (r->parent = s)
+ if ((r->parent = s))
{
if (s->left == p)
s->left = r;
@@ -4179,12 +4179,12 @@ add_case_node (low, high, label, duplicate)
int b2;
struct case_node *t = r->left;
- if (p->right = s = t->left)
+ if ((p->right = s = t->left))
s->parent = p;
t->left = p;
- if (r->left = s = t->right)
+ if ((r->left = s = t->right))
s->parent = r;
t->right = r;
@@ -4198,7 +4198,7 @@ add_case_node (low, high, label, duplicate)
p->parent = t;
r->parent = t;
- if (t->parent = s)
+ if ((t->parent = s))
{
if (s->left == p)
s->left = t;
@@ -4981,7 +4981,7 @@ case_tree2list (node, right)
right = case_tree2list (node->right, right);
node->right = right;
- if (left = node->left)
+ if ((left = node->left))
{
node->left = 0;
return case_tree2list (left, node);
diff --git a/gcc/tree.c b/gcc/tree.c
index 29d7dd1..bf16d4c 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -3310,8 +3310,12 @@ valid_machine_attribute (attr_name, attr_args, decl, type)
tree type;
{
int valid = 0;
+#ifdef VALID_MACHINE_DECL_ATTRIBUTE
tree decl_attr_list = decl != 0 ? DECL_MACHINE_ATTRIBUTES (decl) : 0;
+#endif
+#ifdef VALID_MACHINE_TYPE_ATTRIBUTE
tree type_attr_list = TYPE_ATTRIBUTES (type);
+#endif
if (TREE_CODE (attr_name) != IDENTIFIER_NODE)
abort ();
@@ -3481,6 +3485,7 @@ merge_attributes (a1, a2)
/* One that completely contains the other? Take it. */
else if (a2 && ! attribute_list_contained (a1, a2))
+ {
if (attribute_list_contained (a2, a1))
attributes = a2;
else
@@ -3500,6 +3505,7 @@ merge_attributes (a1, a2)
attributes = a1;
}
}
+ }
return attributes;
}
diff --git a/gcc/unroll.c b/gcc/unroll.c
index 996675d..c9f3772 100644
--- a/gcc/unroll.c
+++ b/gcc/unroll.c
@@ -1631,7 +1631,9 @@ copy_loop_body (copy_start, copy_end, map, exit_label, last_iteration,
rtx insn, pattern;
rtx tem, copy;
int dest_reg_was_split, i;
+#ifdef HAVE_cc0
rtx cc0_insn = 0;
+#endif
rtx final_label = 0;
rtx giv_inc, giv_dest_reg, giv_src_reg;
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 4a2c7af..e81eff3 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -28,6 +28,9 @@ Boston, MA 02111-1307, USA. */
#include "config.h"
#include <stdio.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
#include <setjmp.h>
/* #include <stab.h> */
#include "rtl.h"