diff options
author | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-05-28 17:33:14 +0000 |
---|---|---|
committer | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-05-28 17:33:14 +0000 |
commit | ef258422a399244345f8d5d1d65956ffff5ee6f7 (patch) | |
tree | 005b9830ad50445b6392fd80c98e1ea6584a5deb /gcc/tree.h | |
parent | 3c0a32c9310d31a517b77e5e0b78c8464df21b63 (diff) | |
download | gcc-ef258422a399244345f8d5d1d65956ffff5ee6f7.tar.gz |
* tree.h: Forward-declare struct realvaluetype.
(struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
contain it.
(TREE_REAL_CST_PTR): New accessor.
(TREE_REAL_CST): Update.
* real.h: Include machmode.h.
(realvaluetype): Make it struct realvaluetype, not a typedef.
(build_real): Prototype here.
* tree.c: Include real.h.
(build_real): Allocate the REAL_VALUE_TYPE as a separate
object in GC memory, set TREE_REAL_CST_PTR to point to it.
(build_real_from_int_cst): Use build_real.
* ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
REAL_CST.
* builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
fold-const.c, print-tree.c, real.c, cp/mangle.c, cp/tree.c,
f/bld.c, f/com.c, f/expr.c, f/target.c, java/decl.c,
java/jcf-parse.c, java/parse.y, java/typeck.c: Include real.h.
* Makefile.in, cp/Make-lang.in, f/Make-lang.in,
java/Make-lang.in: Update dependency lists.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53959 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/gcc/tree.h b/gcc/tree.h index e7163ea7e97..9b8325a2a34 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -722,20 +722,19 @@ struct tree_int_cst #define TREE_CST_RTL(NODE) (CST_OR_CONSTRUCTOR_CHECK (NODE)->real_cst.rtl) -/* In a REAL_CST node. +/* In a REAL_CST node. struct realvaluetype is an opaque entity, with + manipulators defined in real.h. We don't want tree.h depending on + real.h and transitively on tm.h. */ +struct realvaluetype; - We can represent a real value as either a `double' or an array of - longs. */ - -#define TREE_REAL_CST(NODE) (REAL_CST_CHECK (NODE)->real_cst.real_cst) - -#include "real.h" +#define TREE_REAL_CST_PTR(NODE) (REAL_CST_CHECK (NODE)->real_cst.real_cst_ptr) +#define TREE_REAL_CST(NODE) (*TREE_REAL_CST_PTR (NODE)) struct tree_real_cst { struct tree_common common; rtx rtl; /* acts as link to register transfer language (rtl) info */ - REAL_VALUE_TYPE real_cst; + struct realvaluetype *real_cst_ptr; }; /* In a STRING_CST */ @@ -2123,7 +2122,6 @@ extern tree build_nt PARAMS ((enum tree_code, ...)); extern tree build_int_2_wide PARAMS ((unsigned HOST_WIDE_INT, HOST_WIDE_INT)); extern tree build_vector PARAMS ((tree, tree)); -extern tree build_real PARAMS ((tree, REAL_VALUE_TYPE)); extern tree build_real_from_int_cst PARAMS ((tree, tree)); extern tree build_complex PARAMS ((tree, tree, tree)); extern tree build_string PARAMS ((int, const char *)); |