aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-04-21 15:23:14 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1994-04-21 15:23:14 -0400
commit88efc60a699446d45ab56c4b80719c2e590db8c7 (patch)
treedad682683699756c585a193cc79846e4bf59511f
parent92544bdfd59b9deb0ae56887f89f6719321bc20e (diff)
downloadgcc-88efc60a699446d45ab56c4b80719c2e590db8c7.zip
gcc-88efc60a699446d45ab56c4b80719c2e590db8c7.tar.gz
gcc-88efc60a699446d45ab56c4b80719c2e590db8c7.tar.bz2
If TREE_CODE undefined, make an incomplete union for tree.
(STDIO_PROTO): Define here if not already defined. (read_rtx): Use STDIO_PROTO. (output_constant_def, immed_real_const): Use "union tree_node *". (immed_real_const_1): Move declaration to real.h. (rtx_to_tree_code): Supply prototype. From-SVN: r7106
-rw-r--r--gcc/rtl.h42
1 files changed, 21 insertions, 21 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 1189850..489f7d6 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1,5 +1,5 @@
/* Register Transfer Language (RTL) definitions for GNU C-Compiler
- Copyright (C) 1987, 1991, 1992, 1993 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -25,6 +25,10 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef ABS /* Likewise. */
#undef PC /* Likewise. */
+#ifndef TREE_CODE
+union tree_node;
+#endif
+
/* Register Transfer Language EXPRESSIONS CODES */
#define RTX_CODE enum rtx_code
@@ -163,6 +167,14 @@ typedef struct rtx_def
#endif
#endif
+#ifndef STDIO_PROTO
+#ifdef BUFSIZ
+#define STDIO_PROTO(ARGS) PROTO(ARGS)
+#else
+#define STDIO_PROTO(ARGS) ()
+#endif
+#endif
+
#define NULL_RTX (rtx) 0
/* Define a generic NULL if one hasn't already been defined. */
@@ -661,11 +673,7 @@ extern rtx gen_rtx PVPROTO((enum rtx_code,
enum machine_mode, ...));
extern rtvec gen_rtvec PVPROTO((int, ...));
-#ifdef BUFSIZ /* stdio.h has been included */
-extern rtx read_rtx PROTO((FILE *));
-#else
-extern rtx read_rtx ();
-#endif
+extern rtx read_rtx STDIO_PROTO((FILE *));
#if 0
/* At present, don't prototype xrealloc, since all of the callers don't
@@ -898,20 +906,10 @@ extern rtx *find_single_use PROTO((rtx, rtx, rtx *));
expr.h to be included for the enumeration. */
extern rtx expand_expr ();
-extern rtx immed_real_const_1();
-
-#ifdef TREE_CODE
-/* rtl.h and tree.h were included. */
-extern rtx output_constant_def PROTO((tree));
-extern rtx immed_real_const PROTO((tree));
-extern rtx immed_real_const_1 PROTO((REAL_VALUE_TYPE, enum machine_mode));
-extern tree make_tree PROTO((tree, rtx));
-#else
-extern rtx output_constant_def ();
-extern rtx immed_real_const ();
-extern rtx immed_real_const_1 ();
-#endif
+extern rtx output_constant_def PROTO((union tree_node *));
+extern rtx immed_real_const PROTO((union tree_node *));
+extern union tree_node *make_tree PROTO((union tree_node *, rtx));
/* Define a default value for STORE_FLAG_VALUE. */
@@ -942,5 +940,7 @@ extern int cse_not_expected;
extern rtx *regno_reg_rtx;
/* Translates rtx code to tree code, for those codes needed by
- REAL_ARITHMETIC. */
-extern int rtx_to_tree_code ();
+ REAL_ARITHMETIC. The function returns an int because the caller may not
+ know what `enum tree_code' means. */
+
+extern int rtx_to_tree_code PROTO((enum rtx_code));