diff options
author | Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 1998-02-28 07:06:53 +0000 |
---|---|---|
committer | Kaveh Ghazi <ghazi@gcc.gnu.org> | 1998-02-28 07:06:53 +0000 |
commit | 517237119124e0a16546a3bf0584d9422ca5dfb0 (patch) | |
tree | 6685fdcda742726b5edb9dbde23a6e7176b93726 | |
parent | c580105315d6e393e042182ced090b8ec6ce0b51 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 113 | ||||
-rw-r--r-- | gcc/c-aux-info.c | 27 | ||||
-rw-r--r-- | gcc/config/pa/pa.c | 29 | ||||
-rw-r--r-- | gcc/config/pa/pa.h | 14 | ||||
-rw-r--r-- | gcc/config/pa/pa.md | 6 | ||||
-rw-r--r-- | gcc/cppalloc.c | 5 | ||||
-rw-r--r-- | gcc/cpperror.c | 5 | ||||
-rw-r--r-- | gcc/cse.c | 18 | ||||
-rw-r--r-- | gcc/expr.c | 4 | ||||
-rw-r--r-- | gcc/final.c | 38 | ||||
-rw-r--r-- | gcc/function.c | 11 | ||||
-rw-r--r-- | gcc/integrate.c | 4 | ||||
-rw-r--r-- | gcc/jump.c | 6 | ||||
-rw-r--r-- | gcc/libgcc2.c | 6 | ||||
-rw-r--r-- | gcc/local-alloc.c | 5 | ||||
-rw-r--r-- | gcc/loop.c | 20 | ||||
-rw-r--r-- | gcc/objc/objc-act.c | 23 | ||||
-rw-r--r-- | gcc/protoize.c | 14 | ||||
-rw-r--r-- | gcc/regmove.c | 2 | ||||
-rw-r--r-- | gcc/reload.c | 3 | ||||
-rw-r--r-- | gcc/reload1.c | 3 | ||||
-rw-r--r-- | gcc/rtl.h | 2 | ||||
-rw-r--r-- | gcc/stmt.c | 22 | ||||
-rw-r--r-- | gcc/tree.c | 6 | ||||
-rw-r--r-- | gcc/unroll.c | 2 | ||||
-rw-r--r-- | gcc/varasm.c | 3 |
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"); @@ -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; @@ -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; @@ -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 '?': @@ -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" @@ -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)); @@ -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); @@ -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" |