From e9576d2c229b3caea1c0c7fb0bd56eb1dd8537ee Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 19 Aug 1997 15:51:10 +0000 Subject: [PATCH] expr.h, real.h: Finish prototyping. * expr.h, real.h: Finish prototyping. Some of hj's prototyping stuff after minor formatting fixes. From-SVN: r14846 --- gcc/ChangeLog | 4 ++++ gcc/expr.h | 16 +++++++++++++--- gcc/real.h | 22 +++++++++++++++++----- 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ee98b2d4a21..1b1beacc56f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -3,6 +3,10 @@ Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com) * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define. (site.exp, check, check-g++, check-gcc): New targets. +Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu) + + * expr.h, real.h: Finish prototyping. + Mon Aug 18 17:39:02 1997 Mike Meissner * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single diff --git a/gcc/expr.h b/gcc/expr.h index d6bf3f6195b..fa7b7edd81c 100644 --- a/gcc/expr.h +++ b/gcc/expr.h @@ -315,7 +315,7 @@ typedef struct optab #define GEN_FCN(CODE) (*insn_gen_function[(int) (CODE)]) #endif -extern rtx (*const insn_gen_function[]) (); +extern rtx (*const insn_gen_function[]) PROTO ((rtx, ...)); extern optab add_optab; extern optab sub_optab; @@ -507,7 +507,7 @@ extern rtx chkr_set_right_libfunc; extern rtx chkr_copy_bitmap_libfunc; extern rtx chkr_check_exec_libfunc; -typedef rtx (*rtxfun) (); +typedef rtx (*rtxfun) PROTO ((rtx)); /* Indexed by the rtx-code for a conditional (eg. EQ, LT,...) gives the gen_function to make a branch to test that condition. */ @@ -595,6 +595,7 @@ rtx emit_conditional_move PROTO((rtx, enum rtx_code, rtx, rtx, /* Return non-zero if the conditional move is supported. */ int can_conditionally_move_p PROTO((enum machine_mode mode)); + #endif /* Create but don't emit one rtl instruction to add one rtx into another. @@ -931,7 +932,9 @@ extern rtx assemble_static_space PROTO((int)); /* Hook called by expand_expr for language-specific tree codes. It is up to the language front end to install a hook if it has any such codes that expand_expr needs to know about. */ -extern rtx (*lang_expand_expr) (); +extern rtx (*lang_expand_expr) PROTO ((union tree_node *, rtx, + enum machine_mode, + enum expand_modifier modifier)); #ifdef TREE_CODE /* Build bytecode call descriptor for function SUBR. */ @@ -942,3 +945,10 @@ extern rtx bc_build_calldesc PROTO((tree)); plus the minimal alignment shifted left 8 bits. */ extern tree bc_runtime_type_code PROTO((tree)); #endif + +extern void init_all_optabs PROTO ((void)); +extern void init_mov_optab PROTO ((void)); +extern void bc_adjust_stack PROTO ((int)); +extern void bc_load_localaddr PROTO ((rtx)); +extern void do_jump_by_parts_greater_rtx PROTO ((enum machine_mode, int, + rtx, rtx, rtx, rtx)); diff --git a/gcc/real.h b/gcc/real.h index 5d4b87fe6b0..835c702f7d3 100644 --- a/gcc/real.h +++ b/gcc/real.h @@ -166,7 +166,8 @@ extern REAL_VALUE_TYPE ereal_from_double PROTO((HOST_WIDE_INT *)); /* These return REAL_VALUE_TYPE: */ #define REAL_VALUE_RNDZINT(x) (etrunci (x)) #define REAL_VALUE_UNSIGNED_RNDZINT(x) (etruncui (x)) -extern REAL_VALUE_TYPE real_value_truncate (); +extern REAL_VALUE_TYPE real_value_truncate PROTO ((enum machine_mode, + REAL_VALUE_TYPE)); #define REAL_VALUE_TRUNCATE(mode, x) real_value_truncate (mode, x) /* These return HOST_WIDE_INT: */ @@ -360,7 +361,8 @@ extern double (atof) (); size and where `float' is SFmode. */ /* Don't use REAL_VALUE_TRUNCATE directly--always call real_value_truncate. */ -extern REAL_VALUE_TYPE real_value_truncate (); +extern REAL_VALUE_TYPE real_value_truncate PROTO ((enum machine_mode, + REAL_VALUE_TYPE)); #ifndef REAL_VALUE_TRUNCATE #define REAL_VALUE_TRUNCATE(mode, x) \ @@ -421,11 +423,12 @@ union real_extract or cc0_rtx if it is not on the chain. */ #define CONST_DOUBLE_MEM(r) XEXP (r, 0) +/* Given a CONST_DOUBLE in FROM, store into TO the value it represents. */ /* Function to return a real value (not a tree node) from a given integer constant. */ -REAL_VALUE_TYPE real_value_from_int_cst (); - -/* Given a CONST_DOUBLE in FROM, store into TO the value it represents. */ +union tree_node; +REAL_VALUE_TYPE real_value_from_int_cst PROTO ((union tree_node *, + union tree_node *)); #define REAL_VALUE_FROM_CONST_DOUBLE(to, from) \ do { union real_extract u; \ @@ -449,4 +452,13 @@ extern struct rtx_def *immed_real_const_1 PROTO((REAL_VALUE_TYPE, /* Replace R by 1/R in the given machine mode, if the result is exact. */ extern int exact_real_inverse PROTO((enum machine_mode, REAL_VALUE_TYPE *)); +extern int target_isnan PROTO ((REAL_VALUE_TYPE)); +extern int target_isinf PROTO ((REAL_VALUE_TYPE)); +extern int target_negative PROTO ((REAL_VALUE_TYPE)); +extern void debug_real PROTO ((REAL_VALUE_TYPE)); + +/* In varasm.c */ +extern void assemble_real PROTO ((REAL_VALUE_TYPE, + enum machine_mode)); + #endif /* Not REAL_H_INCLUDED */ -- 2.30.2