diff options
Diffstat (limited to 'gcc/expr.h')
-rw-r--r-- | gcc/expr.h | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/gcc/expr.h b/gcc/expr.h index e992bd52711..0e8c35d6fd6 100644 --- a/gcc/expr.h +++ b/gcc/expr.h @@ -1,5 +1,5 @@ /* Definitions for code generation pass of GNU compiler. - Copyright (C) 1987, 91-97, 1998 Free Software Foundation, Inc. + Copyright (C) 1987, 91-98, 1999 Free Software Foundation, Inc. This file is part of GNU CC. @@ -144,6 +144,17 @@ enum direction {none, upward, downward}; /* Value has this type. */ #define STRICT_ARGUMENT_NAMING 0 #endif +/* Provide a default value for PRETEND_OUTGOING_VARARGS_NAMED. */ +#ifdef SETUP_INCOMING_VARARGS +#ifndef PRETEND_OUTGOING_VARARGS_NAMED +#define PRETEND_OUTGOING_VARARGS_NAMED 1 +#endif +#else +/* It is an error to define PRETEND_OUTGOING_VARARGS_NAMED without + defining SETUP_INCOMING_VARARGS. */ +#define PRETEND_OUTGOING_VARARGS_NAMED 0 +#endif + /* Nonzero if we do not know how to pass TYPE solely in registers. We cannot do so in the following cases: @@ -528,7 +539,7 @@ extern int expand_twoval_binop PROTO((optab, rtx, rtx, rtx, rtx, int)); extern rtx expand_unop PROTO((enum machine_mode, optab, rtx, rtx, int)); /* Expand the absolute value operation. */ -extern rtx expand_abs PROTO((enum machine_mode, rtx, rtx, int, int)); +extern rtx expand_abs PROTO((enum machine_mode, rtx, rtx, int)); /* Expand the complex absolute value operation. */ extern rtx expand_complex_abs PROTO((enum machine_mode, rtx, rtx, int)); @@ -554,6 +565,11 @@ extern void emit_0_to_1_insn PROTO((rtx)); extern void emit_cmp_insn PROTO((rtx, rtx, enum rtx_code, rtx, enum machine_mode, int, int)); +/* Emit a pair of rtl insns to compare two rtx's and to jump + to a label if the comparison is true. */ +extern void emit_cmp_and_jump_insns PROTO((rtx, rtx, enum rtx_code, rtx, + enum machine_mode, int, int, rtx)); + /* Nonzero if a compare of mode MODE can be done straightforwardly (without splitting it into pieces). */ extern int can_compare_p PROTO((enum machine_mode)); @@ -654,6 +670,9 @@ extern rtx protect_from_queue PROTO((rtx, int)); /* Perform all the pending incrementations. */ extern void emit_queue PROTO((void)); +/* Tell if something has a queued subexpression. */ +extern int queued_subexp_p PROTO((rtx)); + /* Emit some rtl insns to move data between rtx's, converting machine modes. Both modes must be floating or both fixed. */ extern void convert_move PROTO((rtx, rtx, int)); |